Я пытаюсь построить динамическую таблицу с помощью Blazor, но у меня возникла проблема с проверкой DOM.
Я использую Bootstrap для макета, чтобы иметь доступ к row
и col
классам css,У меня есть список элементов с динамическим размером (может быть 0, 3 или 10, даже 100), и я хочу отобразить этот элемент на карте, по 3 на строку.
Я сделал следующее:
<div class="row profile-row" style="margin-left:10px">
@for (int i = 0; i < myObjectList.Count; i++)
{
if (i % 3 == 0 && i != 0)
{
@((MarkupString)("</div><div class='row profile-row' style='margin-left:10px'>"))
}
<div class="col-4">
<MyObjectComponent item="myObjectList[i]"></MyObjectComponent>
</div>
}
</div>
Кажется, это здорово, но, когда вы делаете MarkupString, Blazor гарантирует, что будет создан правильный HTML. Так что мой первый блок конечного div не записан, и следующий div немедленно закрывается, чего я не хочу.
Если я не использую MarkupString, я получаю ошибку компиляции из-за недопустимого HTML в моемсинтаксис. Есть идеи как это сделать?