我非常喜欢 Razor 语法,但它肯定不够完美。例如,我有以下标记块。
@if (Model.FeaturedDestinations != null && Model.FeaturedDestinations.Count() > 0)
{
int column = 0;
foreach (var d in Model.FeaturedDestinations)
{
column++;
if (column > 4)
{
</div>
@{ column = 1; }
}
if (column == 1)
{
@:<div class="row-fluid">
}
<div class="span3">
@RenderDestination(d)
</div>
}
</div>
}
所以,编辑器给了我波浪线,表明我在开始<div>
标签之前有一个结束标签。我可以忍受这一点。但是当我运行应用程序时,我实际上得到了以下运行时错误:
遇到没有匹配开始标签的结束标签“div”。您的开始/结束标签是否正确平衡?
显然,我不能忍受!那么处理这个案子有什么诀窍吗?就我想要的标记而言,我知道我在做什么。但 Razor 不这么认为,它正在接管。
为什么 MVC 会浪费循环检查平衡标签?