RouteCollection.MapPageRoute() - Just can't make it work
===

I have been reading through Microsoft's documentation and many blogs for `RouteCollection.MapRoute( String, String, String )` and `RouteCollection.MapPageRoute( String, String, String )` and am just looking for a simple explanation of how to make this function work or what I'm doing wrong. I cannot get the following examples to work, and have run out of things to try.

I first tried calling a method from `Application_Start()` that contains the following:

    foreach ( CM contentManagement in CachedLists.ContentManagementList.Values )
    {
        if ( contentManagement.PageName == "/Pages/Content" )
        {
            String topicName = HttpUtility.UrlEncode( contentManagement.Topic );

            routes.MapPageRoute( String.Empty, topicName, "~/Pages/Content.aspx?t=" + topicName );
        }
    }


Thinking that anytime a user points their browser to `http://mysite/SpecificTopic`, that it would behave the same as if the user had gone to `http://mysite/Pages/Content.aspx?t=SpecificTopic`. Instead, the first URL returns a 404 error and the second URL works fine.

I also tried the following single line in my `RegisterRoutes()` method:

    routes.MapPageRoute( "CMSRoute", "CMS/{t}", "~/Pages/Content.aspx" );

figuring that pointing my browser to `http://mysite/CMS/AnyTopic` would be equivalent to `http://mysite/Pages/Content.aspx?t=AnyTopic` but again a 404 error on the former example and a normal pageload on the latter.

I trace through the code and make sure that the `MapPageRoutes()` lines are being called on startup. I'm thinking that I'm missing a key concept here.

My application is configured as a VS 2010 Web Application, and I am using the Visual Studio Development Server rather than my Local IIS Web server.