Мне очень нравится синтаксис 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>
}
Итак, редактор дает мне squiggly строки, указывающие, что я заканчиваю тег <div>
перед открытием. Я могу жить с этим. Но когда я запускаю приложение, я получаю следующую ошибку во время выполнения:
Обозначенный конечный тег "div" без соответствующего начального тега. Правильно ли сбалансированы ваши стартовые/конечные теги?
Очевидно, я не могу с этим жить! Так есть ли трюк для решения этого дела? Я знаю, что делаю, насколько я хочу разметки. Но Бритва так не думает и берет верх.
И почему heck - это цикл MVC для проверки сбалансированных тегов?