У меня есть следующее пользовательское правило маршрутизации URL:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"RaceRoute", // Route name
"people/create/{raceid}/{id}", // URL with parameters
new { controller = "People", action = "Create", raceid = UrlParameter.Optional, id = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
, которое я пытаюсь использовать с Actionlink
@Html.ActionLink("Add Person", "Create", "People", new { raceid = item.RaceId, id="1" })
Я в основном хочу, чтобы URL выглядел как "/ people/ create / 5/1 "
Но сгенерированный HTML-код выглядит как
<a href="/races/Create?Length=6" id="1" raceid="5">Add Person</a>
В нем должно быть сказано: <a href="/people/Create/5/1">Add Person</a>
Страница, на которой я сейчас нахожусь, http://localhost:57355/races
Если я просто @Html.ActionLink("Add Person", "Create", "People")
, то это работает, но у меня нет параметров.
Чего мне не хватает?
Спасибо