是否可以构建MarkupString与提供的操作?



当你在Blazor中使用原始HTML时,你可以这样写:

<div style="  display: flex;align-items: center;"  @onclick="@Toggle">
...
</div>

"Toggle"这是方法(Action)。我想提取这样一段代码到创建MarkupString的辅助函数。像这样:

MarkupString HelperBuild(Action action)
{
return new MarkupString(@$"<div style='display: flex;align-items: center;' 
@onclick=??????>....");
}

有可能吗?如果是,怎么做?

RenderFragment应该可以很好地满足您的要求。

RenderFragment HelperBuild(string childContent, Action action)
{
return @<div style="display: flex; align-items: center;" @onclick="action">
@childContent
</div>;
}

那么你可以在你的razor标记中这样使用:

@HelperBuild("My Child Content", () => Console.WriteLine("foo"))

请注意,与您引用的GitHub问题不同,上面的行不应该在code块中,因为这不会做任何事情。它应该在你的页面的其他标记旁边。

相关内容

  • 没有找到相关文章

最新更新