fuz*_*uzz 2 asp.net-mvc razor asp.net-mvc-3
目前我在CSHTML中使用以下代码:
@{int i = 0;}
@foreach (var item in Model.Traders)
{
if ((i++ % 3) == 0) {
if (i != 1) {
@:</div>
}
@:<div class="row">
}
@:<div class="four column"><div class="panel new"><h3 class="dotted"><strong>@item.Title</strong></h3><p>@item.Description</p><code><div class="panel pick"></code></div></div>
}
@if (i != 0) {
@:</div>
}
Run Code Online (Sandbox Code Playgroud)
这将输出以下HTML:
<div class="row">
<div class="four column"><div class="panel new"><h3 class="dotted"><strong>Title</strong></h3><p>Description</p><code>code</code></div></div>
<div class="four column"><div class="panel new"><h3 class="dotted"><strong>Title</strong></h3><p>Description</p><code>code</code></div></div>
<div class="four column"><div class="panel new"><h3 class="dotted"><strong>Title</strong></h3><p>Description</p><code>code</code></div></div>
</div>
<div class="row">
<div class="four column"><div class="panel new"><h3 class="dotted"><strong>Bobby</strong></h3><p>Bobby bobby bobby</p><code><div class="panel pick"></code></div></div>
<!-- Add missing divs if there's less than 3 (there always needs to be 3 divs inside a div row). In this case it's 2 that are missing -->
<div class="four column"></div> <!-- my code does not render these -->
<div class="four column"></div> <!-- my code does not render these -->
</div>
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否有更简单的方法来实现我在视图中所做的事情,并确保如果连续少于3,则添加缺少的div.
Sho*_*ikh 14
集体交易者分批3件,试试这个:
@{
var g = Model.Traders.GroupBy(r => Model.Traders.IndexOf(r) / 3).ToList();
}
@foreach (var parentItem in g)
{
<div class="row">
@foreach (var item in parentItem)
{
<div class="four column"><div class="panel new"><h3 class="dotted"><strong>@item.Title</strong></h3><p>@item.Description</p><code><div class="panel pick"></code></div></div>
}
@for (int i = parentItem.Count(); i < 3; i++)
{
<div class="four column"></div>
}
</div>
}
Run Code Online (Sandbox Code Playgroud)
问候.
| 归档时间: |
|
| 查看次数: |
4725 次 |
| 最近记录: |