C# · 12月 24, 2021

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>