Вам не нужна переменная count
. Я сделал альтернативное решение для ответа Дарина:
@foreach (var pair in Enumerable.Range(0, 20).Select(i => new { Title = "Title " + i, Index = i }))
{
if(pair.Index % 5 == 0) {
@:<tr>
}
<td>@pair.Title</td>
if(pair.Index % 5 == 4) {
@:</tr>
}
}
Как видно из ответа Дарина и этого ответа, вам не нужно @
, когда вы находитесь внутри блока. Кроме того, ваши <tr>
и </tr>
выглядят "неравномерно" для компилятора, поэтому мы должны форсировать их с помощью @:<tr>
. И наконец, @var count = 0
должен быть в блоке, как @{var count = 0}
.
Обновление: Если вам действительно нужен индекс (если вы не используете Range()
), то вы можете сделать следующее (используя перегрузку Select
, которая генерирует индекс для каждого элемента) :
@foreach (var pair in yourSource.Select((data, i) => new { Title = "Title " + data, Index = i }))