如何在Razor中结束标签而不抱怨没有开始标签
本文关键字:标签 开始 Razor 结束 | 更新日期: 2023-09-27 18:02:00
我得到了这个代码:
@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抱怨我关闭了一个从未启动的标记。
我该如何实现这个目标?
看起来您希望在每两名员工之后关闭<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,并使用%运算符检查i
的当前值是奇数还是偶数。只有当i
为奇数或i
等于team.Medewerkers.Count - 1
时,才应添加闭合</li>
。将您的代码更改为以下
@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++;
}
}