MVC Html.ActionLink игнорирует параметр Controller - PullRequest
6 голосов
/ 11 февраля 2010

У меня есть представление, которое имеет следующий код:

<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. Я что-то пропустил?

1 Ответ

12 голосов
/ 11 февраля 2010

Вы соответствуете подпись , которая ожидает значения маршрута в третьем параметре и атрибуты html в четвертом. Добавьте еще один параметр (пустое значение в порядке), и вы получите подпись , которая содержит текст ссылки, действие, контроллер, значения маршрута и атрибуты html.

<%= Html.ActionLink("Add Project",
                    "Create",
                    "Projects",
                    new {id = Model.CompanyID},
                    null ) %>
...