为数据库

时间:2015-11-10 20:14:33

标签: c# html asp.net-mvc razor

我正在使用ASP> NET MVC并从数据库中提取信息并将其显示在视图页面上。它工作正常,但有什么办法可以在开始时添加索引编号吗?

例如,目前显示如下:

  

姓名年龄性别

     

安妮24女

     

Aaron 17 Male

我希望成功:

  

索引名称年龄性别

     

1安妮24女

     

2 Aaron 17 Male

我本可以从数据库中提取ID,但它们不一定是正确的增量值。我尝试通过ViewBag增加,但它不起作用。预计考虑增量发生在列表之外..我的代码如下在控制器和视图。

//Controller
public ActionResult Index()
{
    int count = 1;
    ViewBag.Count = count++;
    return View(db.Person.ToList());
}  

    //View
    <table class="table">
        <tr>
            <th>
                Index
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Name)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Age)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Gender)
            </th>
        </tr>
@foreach (var item in Model) {
    <tr>
        <td>
            @ViewBag.Count
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Age)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Gender)
        </td>
    </tr>
}

</table>

2 个答案:

答案 0 :(得分:2)

在视图中声明计数器(不需要ViewBag属性)并在循环内递增

@{ int counter = 1; }
<table class="table">
   <tr>
        <th>Index</th>
        <th>@Html.DisplayNameFor(model => model.Name)</th>
        ....
    </tr>
    @foreach (var item in Model) {
        <tr>
            <td>@counter</td>
            <td>@Html.DisplayFor(modelItem => item.Name)</td>
            ....
       </tr>
       counter++;
    }
</table>

答案 1 :(得分:0)

使用&#34; for循环&#34;在剃刀中,类似于:

@for(var i = 10; i < 21; i++)
{<p>Line @i</p>}