6

我有一个包含以下代码的视图:

<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。我错过了什么吗?

4

1 回答 1

12

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

<%= Html.ActionLink("Add Project",
                    "Create",
                    "Projects",
                    new {id = Model.CompanyID},
                    null ) %>
于 2010-02-11T01:49:55.120 回答