Asp.Net MVC Вызов другого контроллера из поля зрения - PullRequest
3 голосов
/ 05 мая 2009

Допустим, я на странице "Главная / Указатель" и хочу перейти на страницу MyOtherController / Index / 1

Как я могу это сделать?

Я пытаюсь:

<%= Html.ActionLink("Test", "Index", "MyOtherController", new { id=item.Id }) %>

Мне также нужно было добавить маршрут в файл Global.aspx?

Ответы [ 2 ]

8 голосов
/ 05 мая 2009

Один из вариантов - указать имя контроллера в списке значений маршрута:

<%= Html.ActionLink("Test", "Index"
    , new { controller = "MyOtherController", id = item.Id }) %>

Альтернативой является использование перегрузки ActionLink с htmlAttributes = null:

<%= Html.ActionLink("Test", "Index"
    , "MyOtherController", new { id = item.Id }, null) %>

Маршрут по умолчанию в шаблоне ASP.NET MVC позаботится о маршрутизации в этом случае.

1 голос
/ 05 мая 2009

Я не верю, что ActionLink имеет перегрузку, соответствующую этой конкретной подписи. Вам нужно будет добавить «null» после значений вашего маршрута, чтобы найти соответствующий (для htmlAttributes). Решение Оле было бы чище, хотя это действительно вопрос предпочтений. Это также поможет с удобочитаемостью, так что вам не придется угадывать, является ли каждый параметр текстом ссылки, действием / контроллером и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...