空链路值在ActionLink中传递

时间:2015-10-19 14:25:25

标签: asp.net-mvc asp.net-mvc-4 razor

我是Asp.net MVC的新手。我想以这种方式创建Model的某个对象的超链接

Mapper.Initialize()

现在如图所示,当我点击浏览器中的链接时,它应该移动到具有department.Id路由值的员工控制器的索引操作。但是当我单击该链接时,它会传递一个空路由值,但在URL中,它显示正确的值。为什么会这样?有什么帮助吗?

这是员工控制器中的索引操作

  <ul>@foreach(Department department in @Model ) 
    {         
      <li>@Html.ActionLink(department.Name, "Index", "Employee", new {departmentid= department.Id },null)</li>   
    } </ul>

1 个答案:

答案 0 :(得分:6)

你的行动召唤错误。匿名对象(new {departmentid= department.Id })中的名称和参数名称必须匹配。将departmentid更改为id(因为您的操作需要名为id Index(int id)的参数):

@Html.ActionLink(department.Name, "Index", "Employee", new {id= department.Id },null)