Razor的序列号(记录计数)?

Que*_*Guy 3 entity-framework-4 asp.net-mvc-3

有人可以指出如何在Razor页面视图中的表格中填充时包含序列号.

这是我的看法

@foreach (var item in Model) {
    <tr>
        <td>
            ---- ??? HOW TO INCLUDE SERIAL NUMBER HERE ??? ----
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.studentName)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id = item.studentID }) |
            @Html.ActionLink("Details", "Details", new { id = item.studentID }) |
            @Html.ActionLink("Delete", "Delete", new { id = item.studentID })
        </td>
    </tr>
Run Code Online (Sandbox Code Playgroud)

}

(我使用EF 4.1脚手架自动生成上下文和模型)

Muh*_*han 7

@item.Serial
Run Code Online (Sandbox Code Playgroud)

如果您不想在html控件中显示它.你不需要做任何特别的事情.

编辑:似乎你只是想要一个计数器改变代码中的循环

@foreach (var item in Model.Select((x, i) => new { Data = x, Index = i }))
{
<tr>
    <td>
        @item.Index
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Data.studentName)
    </td>
    <td>
        @Html.ActionLink("Edit", "Edit", new { id = item.Data.studentID }) |
        @Html.ActionLink("Details", "Details", new { id = item.Data.studentID }) |
        @Html.ActionLink("Delete", "Delete", new { id = item.Data.studentID })
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

}


小智 6

@foreach (var item in Model ) 
{
    <tr>
          <td> @( ((Int32) 1) + @Model.IndexOf(item) ) </td>
    </tr>
}
Run Code Online (Sandbox Code Playgroud)