我正在使用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>
答案 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>}