c# – Razor – 使用foreach,每隔n项插入html

前端之家收集整理的这篇文章主要介绍了c# – Razor – 使用foreach,每隔n项插入html前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Razor和MVC 5在我的页面输出大量项目.这是我目前所拥有的:
@foreach (var item in Model.Items)
{
    <a>@item.Name</a>
}

我想要做的是输出这个:

<div class="tab-0">
    <a>Item 1</a>
    <a>Item 2</a>
    <a>Item 3</a>
    <a>Item 4</a>
</div>
<div class="tab-1">
    <a>Item 5</a>
    <a>Item 6</a>
    <a>Item 7</a>
    <a>Item 8</a>
</div>
<div class="tab-2">
    <a>Item 9</a>
    <a>Item 10</a>
    <a>Item 11/a>
    <a>Item 12</a>
</div>

我需要在div标签中对每4个项目进行分组.我怎么能在剃刀中做到这一点?

解决方法

不确定是否要增加项目编号(或@ item.Name实际上包含增加的编号),但以下代码增加类名(每4次迭代一个新div)和项目编号.
@{ var t = 0; var i = 1;  }
<div class="tab-@t">  
    @foreach (var item in Model.Items)
    {
        <a>Item @i</a> // this may be just @item.Name?
        if (i % 4 == 0)
        {
            t++;
            @:</div><div class="tab-"@t>
        }
        i++;
    }
</div>

猜你在找的C#相关文章