我希望在我的视图中有一个表格,将模型中的 3 个元素放入每行中。因此,我要做的方法是循环遍历模型,并在 foreach 循环内部检查我设置的计数变量。如果 count mod 3 == 0 我会做类似的事情</tr><tr>
开始一个新行。这没有按照我想要的方式工作,因为我会有一个}
遵循<tr>
。所以基本上我的问题是,如何根据模型中每行有 3 个项目的元素在剃刀视图内创建动态表?
@{
int count = 0;
<div>
<table>
<tr>
@foreach (var drawing in Model)
{
<td style="width:240px;margin-left:30px; margin-right:30px;">
<img src="@Url.Action("GetImage", "Home", new { id = drawing.drw_ID })" alt="drawing" />
</td>
count++;
if(count%3==0)
{
</tr>
<tr>
}
}
</tr>
</table>
</div>
}
也许有一种我没有想到的更简单的方法
使用两个循环怎么样 - 这将使您的文档设置得更好并且更具可读性。此外,它还解决了行数不能被三整除时出现的问题:
<div>
<table>
@for(int i = 0; i <= (Model.Count - 1) / 3; ++i) {
<tr>
for(int j = 0; j < 3 && i + j < Model.Count; ++j) {
<td style="width:240px;margin-left:30px; margin-right:30px;">
<img src="@Url.Action("GetImage", "Home", new { id = Model[i + j].drw_ID })" alt="drawing" />
</td>
}
</tr>
}
</table>
</div>
编辑以反映您粘贴的代码。注意,这假设模型实现IList
或一个数组
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)