MVC Html.ActionLink忽略Controller参数

6 model-view-controller actionlink

我有一个视图,其中包含以下代码:

<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>
Run Code Online (Sandbox Code Playgroud)

我有一个ProjectsController但是当我运行应用程序并单击Add Project Link时,它希望转到/ Company/Create而不是/ Projects/Create.我错过了什么吗?

tva*_*son 12

您正在匹配期望第三个参数中的路由值和第四个参数中的html属性的签名.添加另一个参数(null就可以),您将获得具有链接文本,操作,控制器,路由值和html属性的签名.

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