MVC Html.ActionLink игнорирует параметр контроллера
-
19-09-2019 - |
Вопрос
У меня есть представление со следующим кодом:
<h2><%= Model.Company.CompanyName %></h2>
<h3>Projects</h3>
<ul>
<%
foreach (Project p in Model.Company.Projects)
{
%>
<li><%= Html.ActionLink(p.ProjectName,"Details", "Projects", new {id=p.ProjectID,companyId=p.CompanyID}) %></li>
<%
}
%>
</ul>
<%= Html.ActionLink("Add Project", "Create", "Projects", new {id = Model.CompanyID}) %>
<br />
<h3>Users</h3>
У меня есть ProjectsController, но когда я запускаю приложение и нажимаю ссылку «Добавить проект», он ожидает перехода в /Company/Create вместо /Projects/Create.Я что-то пропустил?
Решение
Вы соответствуете подпись который ожидает значения маршрута в третьем параметре и атрибуты html в четвертом.Добавьте еще один параметр (нулевой допустим), и вы получите подпись который имеет текст ссылки, действие, контроллер, значения маршрута и атрибуты html.
<%= Html.ActionLink("Add Project",
"Create",
"Projects",
new {id = Model.CompanyID},
null ) %>
Не связан с StackOverflow