在我看来,Razor 告诉我我的 Foreach 循环缺少一个结束大括号 ( }
) 它还告诉我我<div class="row">
的结束标记丢失了。
@{int spanCounter = 0;}
@foreach (var item in Model)
{
if(spanCounter == 0)
{
<div class="row">
}
spanCounter += item.Span;
<div class="span@(item.Span)">
@item.Html
</div>
@if(spanCounter == 12)
{
@spanCounter = 0
</div>
}
}
我见过类似的问题,但他们似乎专注于 Razor 期望正确分层的事实。即,这是非法的:
if(condition)
{
<foo>
}
else
{
<foo>
}
</foo>
更新 模型是 Html 内容“块”的列表
为了更清楚一点,我想在“行”中写出多个块(<div></div>
)<div></div>
- 如果 spanCounter 为 0 BEGIN 行。
- 写入内容:
<div></div>
阻塞直到达到最大跨度宽度 (12) - 结束行,重置计数器,返回 1。