我是mvc的新手,请帮助我如何从表中获取id值。在这里使用IModelBinder
<table class="table">
<tr>
<td>EmpId</td>
<td>Email</td>
<td>Action</td>
</tr>
@foreach(Employee emp in Model.GetEmployee)
{
<tr>
<td>@emp.Emp_Id</td>
<td>@emp.Email</td>
<td>@Html.ActionLink("Edit", "GetById", "EmployeeManagement", new {id=emp.Emp_Id})</td>
</tr>
}
</table>
当我绑定为new {id=emp.Emp_Id}
时,每列的长度为18,如http://localhost:9426/EmployeeManagement/GetById?Length=18
答案 0 :(得分:3)
您正在使用带有4个参数的Html.ActionLink
重载,最后一个参数是Object。此参数引用路由参数(请参阅此处:https://msdn.microsoft.com/en-us/library/dd492936(v=vs.118).aspx)。
如果你想参考 HTML参数,你需要重载5个参数(最后两个是对象),其中第4个参数仍然是路径参数(你可以留下空白object {}
),第5个是HTML参数(指定为查询参数)(详见:https://msdn.microsoft.com/en-us/library/dd492124(v=vs.118).aspx)。
所以,您可以尝试用这样的@Html.ActionLink
表达式替换(注意第4个参数上的空白对象添加):
<td>@Html.ActionLink("Edit", "GetById", "EmployeeManagement", new {}, new {id=emp.Emp_Id})</td>
答案 1 :(得分:1)
将行动链接替换为此
@Html.ActionLink("Edit", "GetById", "EmployeeManagement", new { id = emp.Emp_Id }, new { })