在循环中填充多个div

时间:2011-08-23 18:20:11

标签: c# asp.net-mvc-2

我有一个标签控件,上面有一堆复选框(可能比我在这里显示的更多)。我在这样的循环中创建复选框:

<div id="mechanical" class="tabcontent">
    <% for (int i = 0; i < Model.MechanicalRisks.Count; i++)
       {%>
    <%= Html.CheckBoxFor(x => x.MechanicalRisks[i].IsChecked)%>
    <%= Html.DisplayFor(x => x.MechanicalRisks[i].Text)%>
    <br />
    <%} %>
    <br />
    Other:
    <br />
    <%= Html.TextAreaFor(x => x.OtherMechanical, new { style = "width:100%;" })%>
</div>

看起来像这样:

enter image description here

我不喜欢左侧的复选框如何继续。我希望它们在多个列中,所以如果说有二十个盒子,它就不会是愚蠢的高。如果我要为标签内的列创建多个div,我该如何将div中的复选框分开?

2 个答案:

答案 0 :(得分:2)

这是一个样式问题,而不是C#/ ASP.NET MVC 2问题

<ul>
<% for (int i = 0; i < Model.MechanicalRisks.Count; i++) {%>
<li>
    <%=Html.CheckBoxFor(x => x.MechanicalRisks[i].IsChecked)%>
    <%=Html.DisplayFor(x => x.MechanicalRisks[i].Text)%>
</li>
<%} %>
</ul>
<br />
Other:<br />
<%= Html.TextAreaFor(x => x.OtherMechanical, new { style = "width:100%;" })%>

然后创建一些新样式或构建#mechanical

#mechanical li
{
    float: left;
    width: 50%;
    padding: 0;
    margin: 0;
    list-style: none;
}

答案 1 :(得分:0)

添加两个div用于显示列,每个div中都有一个for循环。第一个循环将显示记录的前半部分,第二个循环将显示记录的后半部分。