Я не могу понять, почему ActionLink неправильно генерирует URL в этом одном экземпляре.
У меня есть контроллер с именем Activity и представление с именем Show. Оттуда я пытаюсь создать ссылку на контроллер ServiceCall, Показать представление. Из любой точки зрения на ServiceCall это прекрасно работает:
<%= Html.ActionLink(Html.Encode(sc.CallNumber), "Show", new { callNumber = "100" })%>
В представлении «Активность» это не работает:
<%= Html.ActionLink(Html.Encode(sc.CallNumber), "Show", "ServiceCall", new { callNumber = "100" })%>
Генерирует ссылку типа http://localhost/Activity/Show/12?Length=11
После некоторых исследований я решил попробовать это:
<%= Html.ActionLink(Html.Encode(sc.CallNumber), "Show", new { controller = "ServiceCall" }, new { callNumber = "100" })%>
Это дает мне URL http://localhost/ServiceCall/Show, но не дает callNumber. Есть идеи?
Это в моих маршрутах:
routes.MapRoute(
"ShowCall",
"ServiceCall/Show/{callNumber}",
new {controller = "ServiceCall", action = "Show", callNumber = ""}
);