Jeeva J
Jeeva J

Reputation: 3253

Mvc RouteUrl with parameter

 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

Answers (1)

SanketS
SanketS

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

Related Questions