Parameter value not passed in ASP.NET MVC route -
i'm learning creating custom routes in asp.net mvc , have hit brick wall. in global.asax.cs file, i've added following:
public static void registerroutes(routecollection routes) { routes.ignoreroute("{resource}.axd/{*pathinfo}"); routes.maproute( "default", // route name "{controller}/{action}/{id}", // url parameters new { controller = "home", action = "index", id = urlparameter.optional } // parameter defaults ); // custom route. routes.maproute( "user_filter", "home/filter/{name}", new { controller = "home", action = "filter", name = string.empty } ); } the idea me able navigate http://localhost:123/home/filter/mynameparam. here controller:
public class homecontroller : controller { public actionresult index() { return view(); } public actionresult filter(string name) { return this.content(string.format("you found me {0}", name)); } } when navigate http://localhost:123/home/filter/mynameparam contoller method filter called, parameter name null.
could give pointer correct way me build custom route, passes name part in url name parameter filter().
the default route should last one. try way:
public static void registerroutes(routecollection routes) { routes.ignoreroute("{resource}.axd/{*pathinfo}"); // custom route. routes.maproute( "user_filter", "home/filter/{name}", new { controller = "home", action = "filter", name = string.empty } ); routes.maproute( "default", // route name "{controller}/{action}/{id}", // url parameters new { controller = "home", action = "index", id = urlparameter.optional } // parameter defaults ); }
Comments
Post a Comment