Бритва не работает таким образом. Элементы HTML не могут быть отделены, как у вас есть. У вас есть голый </div>
:
if (lastDay != 0) {
</div>
}
Это недопустимо, поскольку теги HTML должны совпадать аналогично скобкам C # (они должны находиться на одном уровне вложенности, а конечный тег не может отображаться лексически перед начальным тегом). Мне непонятно, почему вы используете этот lastDay
чек. Почему бы не написать это без этого, как это вместо этого?
@foreach (var grouping in Model.EventTemplate.EventTemplateSlots) {
if (grouping.Day != lastDay) {
<div style="margin: 5px;">
<div class="ui-widget-header ui-corner-all" style="padding: 5px;">@(((DateTime)Model.StartDate).AddDays(grouping.Day).ToShortDateString())</div>
</div>
}
}
Таким образом, теги начала / конца HTML совпадают так, как нужно.