如何防止 MarkupString 在 Blazor 中自动关闭标签

mz1*_*378 6 blazor

我有这段代码,我希望能够工作,但是 MarkupString 关闭了不应该关闭的标签:

@((MarkupString)startMarkup)    
int count = 0;
foreach (int metaID in MetaIDs)
{
    if (count % 3 == 0 && count != 0)
    {
        @((MarkupString)endMarkup)
    }
    <div class="col-md-4">
       @: A component here
    </div>
    count++;
}
Run Code Online (Sandbox Code Playgroud)

有两个变量会自动关闭它们:

string startMarkup = "<div class=\"row\">";
string endMarkup = "</div><div class=\"row\">";
Run Code Online (Sandbox Code Playgroud)

如何使这个由 3 行项目组成的网格页面正常工作?

Isa*_*aac 2

我认为这是不可能的,因为 Blazor 操作 DOM 元素,并且它们在创建后必须立即有效。因此,您的标记字符串必须完整且有效;也就是说,它应该在开始标记之后有结束标记,如下所示:

string myMarkup = "<div class=\"row\"></div>";
Run Code Online (Sandbox Code Playgroud)

设计一种不使用 MarkupString 构建网格的方法

希望这可以帮助...