Reputation: 1524
My route in global.asax in like this-
routes.MapRoute(
"History", // Route name
"{controller}/{PageID}/{LanguageID}/{PreviousRevisionID}/{NewRevisionID}", // URL with parameters
new { controller = "UserArea", action = "Index", PageID = 0, LanguageID = 0, PreviousRevisionID = 0, NewRevisionID = 0} // Parameter defaults
);
I am using Html.actionLink to make url Like this.
@Html.ActionLink(item.CreatedTS.ToString(), "Index", new { PageID = item.PageID ,LanguageID = item.LanguageID , PreviousRevisionID = item.PreviousRevisionID , NewRevisionID = item.NewRevisionID , controller = "History" });
But the url generate like This
http://localhost:2582/History?PageID=2&LanguageID=3&PreviousRevisionID=98&NewRevisionID=103
But I want url Like this
http://localhost:2582/History/2/3/98/103
Where is the problem
Upvotes: 3
Views: 2144
Reputation: 139748
Use RouteLink instead of ActionLink:
@Html.RouteLink(item.CreatedTS.ToString(), "History", new { PageID = item.PageID ,LanguageID = item.LanguageID , PreviousRevisionID = item.PreviousRevisionID , NewRevisionID = item.NewRevisionID , controller = "History" });
For the differences see this SO question.
Upvotes: 4
Reputation: 512
It seems that you may have your routes defined in the wrong order. You want this route to be defined before the default route. So your routes may look something like this.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"History", // Route name
"{controller}/{PageID}/{LanguageID}/{PreviousRevisionID}/{NewRevisionID}", // URL with parameters
new { controller = "UserArea", action = "Index", PageID = 0, LanguageID = 0, PreviousRevisionID = 0, NewRevisionID = 0 } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Default", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
The route debugger utility by Phil Haack is very helpful for debugging routes.
http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx
PM> Install-Package routedebugger
Upvotes: 0