在for循环中获取Html.ActionLink中当前行的Id

时间:2013-10-01 07:36:58

标签: asp.net asp.net-mvc

我有一个页面,其中包含网格形式的主数据列表,我想查看下一页中单击的主记录的所有详细信息。
为此,我需要在循环中的html.actionlink中记录该记录的id

   @for (int i = 0; i < @Model.Count; i++)
   {
        <tr>
            <td>
                @Html.HiddenFor(m => m[i].ID)
                 @Html.DisplayFor(m => m[i].Name)
            </td>
            <td>
                @Html.DisplayFor(m => m[i].Date)
            </td>
            <td>
                @Html.ActionLink("See Detail", "detail", "mycontroller", new { id = (m => m[i].ID) }) 
            //syntax error in above line (m => m[i].ID)
            </td>
        </tr>
    }

2 个答案:

答案 0 :(得分:0)

试试这个

@Html.ActionLink("See Detail"+i, "detail", "mycontroller", new { id =  model[i].ID })

或者你可以试试这个

@for (int i = 0; i < @Model.Count; i++)
    {
    <tr>
        <td>
            @Html.Hidden("@Model[i].ID")
            @Html.Display("@Model[i].Name")
        </td>
        <td>
            @Html.Display("@Model[i].Date")
        </td>
        <td>
            @Html.ActionLink("See Detail"+i, "detail", "mycontroller", new { id = "@Model[i].ID" }) 
        </td>
    </tr>
}

答案 1 :(得分:0)

     @foreach (var item in Model)
       {
            <tr>
                <td>
                    @Html.HiddenFor(item.ID)
                     @Html.DisplayFor(item.Name)
                </td>
                <td>
                    @Html.DisplayFor(item.Date)
                </td>
                <td>
                    @Html.ActionLink("See Detail", "detail", "mycontroller", new { id =item.ID) }) 

         }