【发布时间】:2022-06-16 00:48:56
【问题描述】:
当您在 Blazor 中使用原始 HTML 时,例如:
<div style=" display: flex;align-items: center;" @onclick="@Toggle">
这里的“切换”是方法(Action)。我想将这样的代码提取到创建 MarkupString 的辅助函数中。像这样的:
MarkupString HelperBuild(Action action)
{
return new MarkupString(@$"<div style='display: flex;align-items: center;'
@onclick=??????>");
}
有可能吗?如果是,怎么做?
【问题讨论】:
-
您应该避免使用
MarkupString,除非它是唯一可能的解决方案,因为除非您主动清理字符串,否则它会使您面临 XSS 攻击。改用RenderFragment是可行的方法,除非您的HTML 格式错误,因为<div>标记未关闭。如果您实际上有div的任意子内容,则最好编写一个普通组件。