<table>
@{var counter = 1; }
<tr>
@foreach (var item in Model)
{
<td>
@Html.DisplayFor(modelItem => item.courseName)
@Html.DisplayFor(modelItem => item.courseSubject)
@Html.DisplayFor(modelItem => item.institute)
</td>
if (counter % 3 == 0)
{
@:</tr><tr>
}
}
</tr>
</table>
我想在一个表中显示每行3列的记录。这就是我尝试的方式。但仍然是所有记录在一行。我怎么能做到。
答案 0 :(得分:1)
您需要更新循环内的计数器变量。应该这样做。
<table>
@{var counter = 1; }
<tr>
@foreach (var item in Model)
{
<td>
@Html.DisplayFor(modelItem => item.courseName)
</td>
if(counter%3 == 0)
{
@:</tr><tr>
}
counter++;
}
</tr>
</table>
答案 1 :(得分:0)
如果我正确地阅读您的问题,您希望每行3列?
如果是这种情况,请对HTML结构进行以下更改。您需要添加三个<td>
元素才能生成三列
@foreach (var item in Model)
{
<td>
@Html.DisplayFor(modelItem => item.courseName)
</td>
<td>
@Html.DisplayFor(modelItem => item.courseSubject)
</td>
<td>
@Html.DisplayFor(modelItem => item.institute)
</td>
if (counter % 3 == 0)
{
@:</tr><tr>
}
}
像Shyju在他的回答中提到的那样,我不确定你在那里使用计数器做什么,因为它不会在循环的每次迭代中递增。