here is the procedure to duplicate the issue.
- start new mvc 4 project.
add the following lines to the RegisterRoutes() method just before the "Default" route
routes.MapRoute( name: "Test", url: "Test/{action}", defaults: new { controller = "Test", action = "Index" } );
add the following to Index.cshtml and About.cshtml
@Html.RouteLink("link to TestController", "Test")
As you can see that the generated html code is different for the 2 pages. I would expect the URL is "/Test" which is rendered correctly for Index.cshtml, but it become "/Test/About" for About.cshtml.
My question is if there is any documented way to generate the same correct URL. The above example is created just for demonstration purpose. I would like to use the routing table information to generate menu.
Quickest way would be to just specify a blank action.
This will produce
/Test