Question

I have a a view that has the following code:

<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>

I have a ProjectsController but when I run the application and click on the Add Project Link it expects to go to /Company/Create instead of /Projects/Create. Am I missing something?

Was it helpful?

Solution

You're matching the signature that expects the route values in the third parameter and the html attributes in the fourth. Add another parameter (null is ok) and you'll get the signature that has the link text, action, controller, route values, and html attributes.

<%= Html.ActionLink("Add Project",
                    "Create",
                    "Projects",
                    new {id = Model.CompanyID},
                    null ) %>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top