我目前显示的复选框列表如下:
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;
}
使用 Razor 的 HTML 标记:
@{
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>
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)