C# ActionLink可选参数错误

C# ActionLink可选参数错误,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,我在视图中使用以下代码,并尝试使用附加参数在末尾添加“撤消”链接,但出现以下错误: System.ArgumentException:parameters字典包含“MaxMe2.Controllers.TeamController”中方法“System.Web.Mvc.ActionResult Draw(Int32,Int32)”的不可空类型“System.Int32”的参数“personID”的空条目。可选参数必须是引用类型、可为null的类型或声明为可选参数 <% if(Model.d

我在视图中使用以下代码,并尝试使用附加参数在末尾添加“撤消”链接,但出现以下错误:

System.ArgumentException:parameters字典包含“MaxMe2.Controllers.TeamController”中方法“System.Web.Mvc.ActionResult Draw(Int32,Int32)”的不可空类型“System.Int32”的参数“personID”的空条目。可选参数必须是引用类型、可为null的类型或声明为可选参数

<% if(Model.departmentsDisplayCheck) {%>
<table>
    <tr>         
        <th>Name</th>
        <th>Type</th>
        <th>Status</th> 
    </tr>

<% foreach (var dep in Model.departmentsList){ %>

    <tr>
        <td><%: Html.ActionLink(dep.Name, "Details", "Department", new { id=dep.DepartmentID}, null) %></td>
        <td><%: dep.DepartmentType.Type %></td>
        <td><%: dep.DepartmentStatus.Status %></td>
        <td><%: Html.ActionLink("Withdraw", "Withdraw", "Team", new { id = Model.personalInfo.PersonID, dep = dep.DepartmentID}, null)%></td>
    </tr>
<% } %>

我怎样才能做到这一点?提前谢谢

您的参数名称与操作链接发送的参数名称不匹配。试着这样做:

public ActionResult Withdraw(int id, int dep)
或者更新ActionLink参数名称以匹配操作的名称:

<%= Html.ActionLink(
    "Withdraw", 
    "Withdraw", 
    "Team", 
    new { 
        personID = Model.personalInfo.PersonID, 
        departmentID = dep.DepartmentID
    },
    null
) %>

正在运行。

您的参数名称与操作链接发送的参数名称不匹配。试着这样做:

public ActionResult Withdraw(int id, int dep)
或者更新ActionLink参数名称以匹配操作的名称:

<%= Html.ActionLink(
    "Withdraw", 
    "Withdraw", 
    "Team", 
    new { 
        personID = Model.personalInfo.PersonID, 
        departmentID = dep.DepartmentID
    },
    null
) %>
他会工作的