Динамические элементы, генерируемые на бритвенных страницах - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь добиться следующего в своем TheseModels.cshtml:

<superdiv>
 <tinydiv>
 <tinydiv>
 <tinydiv>
<superdiv>

Другими словами, иметь 3 элемента в другом n раз.

То, что я пробовал до сих порчто-то вроде:

int i = 0;
@foreach (Model m in SomeModels)
{
    if (i % 3 == 0)
    {
        <superdiv>
    }
    i++;
    <tinydiv>
    </tinydiv>
    @if (i % 3 == 0)
    {
        </superdiv>
    }
}
@if (i % 3 != 0)
{
    </superdiv>
}

Однако, это не заканчивается хорошо. Какой лучший способ добиться чего-то подобного? Другой способ, о котором я подумал, заключается в том, чтобы предварительно упаковать серверную часть и заставить его возвращать массив и каждый элемент, содержащий 3 модели ... но, кажется, глупо делать это таким образом, и я хотел иметь логику отображения в представлении.

1 Ответ

2 голосов
/ 03 ноября 2019

Посмотрите на мой ответ здесь .

Полагаю, вам нужно только добавить префикс содержимого бритвы html @: до начала и конца тега superdiv.

Также удалите @ перед оператором if внутри foreach, поскольку это запрещено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...