Reputation: 3253
routes.MapRoute(
"RouteSample",
"Controler/Action/{sampleId}",
new { controller = "Controller", action = "Action", sampleId= UrlParameter.Optional }
);
<a href="@Url.RouteUrl("RouteSample", new { sampleId= 5 })> sample </a>
ActionResult Action(var sampleId)
{
// Here I always get sampleId as null. I didn't get any value
// I always get value only by RouteData.Values["Id"].. and another doubt is I have parameter name is sampleId. But I can get data only by mentioning "Id" in RouteData values.. why is like that ?
}
I always get value only by RouteData.Values["Id"].. and another doubt is I have parameter name is sampleId. But I can get data only by mentioning "Id" in RouteData values.. why is like that ?
Upvotes: 1
Views: 1578
Reputation: 973
I think your routes.MapRoute
's attributes are wrong.
Try This.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{sampleId}",
defaults: new { controller = "Home", action = "Index", sampleId = UrlParameter.Optional }
);
Upvotes: 1