Я использую механизм просмотра Razor с MVC 3 и пытаюсь сделать четные и нечетные строки в таблице разными классами.
Пока что я у меня есть это
@{ var odd = true; }
@foreach(var userLot in Model) {
if (!odd) {
<tr id="lot@userLot.Id" class="even">
else
<tr id="lot@userLot.Id" class="odd">
}
<td>@userLot.Id</td>
<td>@userLot.Description</td>
<td>@userLot.Carat</td>
<td class="averageBid">@userLot.AverageBid</td>
<td class="rank">@userLot.Rank</td>
<td class="currentBid">@userLot.CurrentBid</td>
<td style="width: 200px; height: 30px;" class="tdWithBidInput"><input type="text" style="display: none" /></td>
</tr>
@{ odd = !odd; }
}
Это доставляет мне бесконечные проблемы с глупым движком представления, неспособным понять, что такое разметка, а что код. Я пробовал обернуть открывающие теги tr в текстовую директиву, но затем глупый движок представления стонет о закрывающих тегах tr. Если я затем заключу закрывающий тег tr в текстовую директиву, глупый движок представлений стонет, что в текстовой директиве нет открывающего тега.
Для ясности, этот
<text></ tr></text>
выдает ошибку, что текстовый тег не имеет соответствующего открывающего тега. . Прекрасно.
Как мне написать это, чтобы Razor не выдавал ошибку?
Пожалуйста, не рекомендуйте решение JavaScript, я пытаюсь здесь обойти проблемы Razor.