Смешивание html и кода в foreach в бритве - программирование

Смешивание html и кода в foreach в бритве

Я хочу создать сетку бутстрапа с классом строки-жидкости. Необходимо разделить все вложенные div с классом span4 на блоки. Поэтому я хочу иметь html следующим образом:

    <div class="row-fluid">
        <div class="span4"></div>
        <div class="span4"></div>
        <div class="span4"></div>
    </div>
    <div class="row-fluid">
        <div class="span4"></div>
        <div class="span4"></div>
        <div class="span4"></div>
    </div>

И у меня есть код в бритве

@{
int counter = 3;
}
@foreach (var config in Model)
{
    @if (counter == 3)
    {
       <div class="row-fluid">
       @counter = 0;
    }
    @Html.Partial("_ConfigBar", config)

    @if (counter == 2)
    {
        </div>
    }
    @{counter++;}
}

Частичный вид просто поместите div с классом span4, и нет ничего интересного.

Но это не сработало. Может ли кто-нибудь указать мне, что не так?

4b9b3361

Ответ 1

Что-то вроде этого должно создать то, что вам нужно:

@{
    int counter = 0;
    foreach (var config in Model)
    {
        if (counter == 0)
        {
           @Html.Raw("<div class=\"row-fluid\">")
        }
        else if (counter > 0 && counter % 3 == 0 )
        {
           @Html.Raw("</div><div class=\"row-fluid\">")
        }

        @Html.Partial("_ConfigBar", config)

        counter++;
    }

    @Html.Raw("</div>")
}

Это будет:

  • создать начальный div в первом цикле
  • закрыть текущий открытый div и открыть новый div на каждом 4-м цикле
  • добавьте закрывающий div после завершения цикла.