有没有办法可以将tds限制为4或以下设置中的任何数字..请参阅下面的代码。现在,它在一行中显示所有模型项(因为它应该根据代码)。如果项目是十几个,它们都显示一行..我想在每一行显示这四个而不是一行中的所有... ...(我在谈论桌子内的表吗?)这可以吗可以吗?
<table>
<tr>
@foreach (var item in Model)
{
<td>
@Html.DisplayFor(modelItem => item.fld1)
@Html.DisplayFor(modelItem => item.fld2)
</td>
}
</tr>
</table>
答案 0 :(得分:3)
你可以将它们分组:
@{
var chunkSize = 4;
var groupedResult =
from i in Model.Select((value, index) => new { Value = value, Index = index })
group i.Value by i.Index / chunkSize into g
select g;
}
<table>
@foreach (var result in groupedResult)
{
<tr>
@foreach (var item in result)
{
<td>
@Html.DisplayFor(modelItem => item.fld1)
@Html.DisplayFor(modelItem => item.fld2)
</td>
}
</tr>
}
</table>
显然,您需要执行此操作意味着您的视图模型不适合此视图。因此,调整它并在控制器操作中执行此分组。然后你的视图将变得简单易读,并且不像一些意大利面条代码。