我的mvc视图中有关于表设计的foreach循环的问题。
我希望我的循环为每个表行输出最多2个单元格,如果它有数据循环输出超过2个单元格,它会添加一个新行并继续循环该行上单元格上的数据等。
任何人都有解决方案吗?
答案 0 :(得分:5)
以2为增量迭代集合。在输出之前检查以确保i + 1 th 项目可用,如果不是,则输出空单元格。
<table>
<thead>
<tr><th>Column 1</th><th>Column 2</th></tr>
</thead>
<tbody>
@for (int i = 0; i < Model.Count(); i = i + 2)
{
<tr>
<td>@Model[i]</td> // or @Model.ElementAt(i)
<td>@(i+1 < Model.Count() ? Model[i+1] : "")</td> // similar
</tr>
}
</tbody>
</table>
答案 1 :(得分:3)
你不应该为此使用表格。
相反,请将您的内容放在<div>
的{{1}}或float: left
中,并使父元素足够宽,以容纳两个孩子。
答案 2 :(得分:2)
您希望使用模数运算符(%)。
像
这样的东西if i%2 = 0 { new line }