我收到了这段代码:
@foreach (var team in Model.GetTeams)
{
var i = 0;
foreach (var employee in team.Medewerkers)
{
if (i == 0)
{
@:<li class="flip-card">
@:<div class="flip-card-back">
@:</div>
i=1;
}
else
{
@:<div class="flip-card-front">
@:</div>
@:</li>
i = 0;
}
}
if (i == 1)
{
</li>
}
}
现在团队中可能有3名员工,因此li
标签永远不会关闭。所以我想我会在最后添加一个if语句来检查i == 1
是否可以关闭li
标签但是当我使用这个代码时,Razor抱怨我关闭了一个永远不会启动的标签。
我如何实现这一目标?
答案 0 :(得分:1)
看起来您想要在每两名员工之后关闭<li class="flip-card">
,或者在员工人数为奇数时关闭最后一名员工。例如,当有2名员工时,您需要此输出
<li class="flip-card">
<div class="flip-card-back">
</div>
<div class="flip-card-front">
</div>
</li>
如果有3名员工,您希望获得此输出
<li class="flip-card">
<div class="flip-card-back">
</div>
<div class="flip-card-front">
</div>
</li>
<li class="flip-card">
<div class="flip-card-back">
</div>
</li>
我建议您不要将i
的值更改为0
和1
,而是将i
的值加1并使用% operator检查i
的当前值是奇数还是偶数。仅当</li>
为奇数或i
等于i
时,才应添加结束team.Medewerkers.Count - 1
。更改您的代码如下
@foreach (var team in Model.GetTeams)
{
var i = 0;
foreach (var employee in team.Medewerkers)
{
if (i == 0 || i % 2 == 0)
{
@:<li class="flip-card">
@:<div class="flip-card-back">
@:</div>
}
else
{
@:<div class="flip-card-front">
@:</div>
}
if (i % 2 == 1 || i == team.Medewerkers.Count - 1)
{
</li>
}
i++;
}
}