显示多列复选框列表
本文关键字:列表 复选框 显示 | 更新日期: 2023-09-27 18:01:25
我现在是这样显示我的复选框列表的:
foreach (var employee in Model.Employees) {
@Html.CheckBox(employee.Name);<br />
}
如果你想要一长列的复选框,这是很好的,但我的列表越来越长,所以我想显示它在2或3列
是否有简单的方法来做到这一点?我知道我可以创建一个表,然后为一列的前一半雇员放入一个for
循环,然后为另一列的另一半雇员放入另一个for
循环。但这看起来太原始了,必须有一个更简单,更干净的方法
我会使用2或3个html列表包含您的复选框,每个列表出现在标记的下一个列表之后,并使用css将每个列表浮动到左侧。
如果有10个以上的复选框,这个例子将把复选框分成2个列表:
CSS:.multi-list
{
float: left;
padding-right: 50px;
}
.clear
{
clear: both;
}
HTML标记w/Razor:
@{
if (Model != null)
{
int itemCount = 0;
<ul class="multi-list">
@foreach (var item in Model) {
itemCount++;
<li>
@Html.DisplayFor(modelItem => item.Name)
@Html.CheckBoxFor(modelItem => item.Active)
</li>
if (Model.Count() > 10 && itemCount == (int)(Model.Count() / 2))
{
@Html.Raw("</ul><ul class='"multi-list'">");
}
}
</ul>
<div class="clear"></div>
}
}