Я учусь создавать собственные маршруты в ASP.NET MVC и попал в кирпичную стену. В моем файле Global.asax.cs я добавил следующее:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
// My Custom Route.
routes.MapRoute(
"User_Filter",
"home/filter/{name}",
new { controller = "Home", action = "Filter", name = String.Empty }
);
}
Идея в том, чтобы я смог перейти на http://localhost:123/home/filter/mynameparam
. Вот мой контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Filter(string name)
{
return this.Content(String.Format("You found me {0}", name));
}
}
Когда я перехожу к http://localhost:123/home/filter/mynameparam
, вызывается метод контроллера Filter
, но параметр name
всегда равен null
.
Может ли кто-нибудь дать указатель относительно правильного способа построения моего собственного маршрута, чтобы он передавал часть имени в URL в параметр name
для Filter()
.