2011-03-17 21 views
1

我对我的mvc视图中的表设计foreach循环有一个问题。Foreach循环表,最多2个单元格然后一个新行?

我希望我的循环为每个表格行输出最多2个单元格,如果它有数据循环出多于2个单元格,它将添加一个新行并继续循环该行单元格上的数据等。 。

任何人都有解决方案吗?

回答

3

您不应该为此使用表格。

取而代之,将您的内容与float: leftdisplay: inline-block一起放入<div>,并使父元素足够宽以容纳两个孩子。

+0

这工作完美:) – Raskolnikoov 2011-03-18 07:44:24

+0

我就遇到了这个问题,你提出的解决方案运作良好,对我来说太。只是好奇,这个概念是一个基本的东西,还是将它归类为小生境技巧。我问,因为我不会从我认识的基础知识中想到这一点,除非我碰到你的文章:你能详细说明为什么这会起作用吗?!感谢和upvoted! – 2013-04-26 13:40:18

5

以两个为单位对集合进行迭代。在输出之前检查以确保i + 1 项目可用,如果不是,则输出空白单元格。

<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> 
2

你想看看使用模数运算符(%)。

喜欢的东西

if i%2 = 0 { new line } 
相关问题