如何从Table获取id值

时间:2017-09-18 07:29:39

标签: asp.net-mvc

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

2 个答案:

答案 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 { })