Blazor中是否有与Html.Raw等效的文件?

Blazor中是否有与Html.Raw等效的文件?,blazor,Blazor,我有一些存储在字符串中的HTML。我如何在Blazor/Razor视图中呈现它而不使用自动HTML编码?现在还没有,但可能在下一个版本中会有它: 解决方法(从该问题开始): cshtml <pre> <span ref="Span"></span> @functions{ [Parameter] string Content { get; set; } private ElementRef

我有一些存储在字符串中的HTML。我如何在Blazor/Razor视图中呈现它而不使用自动HTML编码?

现在还没有,但可能在下一个版本中会有它:

解决方法(从该问题开始):

cshtml

<pre>
    <span ref="Span"></span>

    @functions{
        [Parameter] string Content { get; set; }
        private ElementRef Span;

        protected override void OnAfterRender()
        {
            Microsoft.AspNetCore.Blazor.Browser.Interop.RegisteredFunction.Invoke<bool>("RawHtml", Span, Content);
        }
    }
</pre>
@((MarkupString)myMarkup)

@functions {
    string myMarkup = "<p class='markup'>This is a <em>markup string</em>.</p>";
}

@功能{
[参数]字符串内容{get;set;}
私有元素引用Span;
受保护的覆盖无效OnAfterRender()
{
Microsoft.AspNetCore.Blazor.Browser.Interop.RegisteredFunction.Invoke(“RawHtml”,Span,Content);
}
}
index.html

<pre>
    <span ref="Span"></span>

    @functions{
        [Parameter] string Content { get; set; }
        private ElementRef Span;

        protected override void OnAfterRender()
        {
            Microsoft.AspNetCore.Blazor.Browser.Interop.RegisteredFunction.Invoke<bool>("RawHtml", Span, Content);
        }
    }
</pre>
@((MarkupString)myMarkup)

@functions {
    string myMarkup = "<p class='markup'>This is a <em>markup string</em>.</p>";
}

registerFunction('RawHtml',函数(元素,值){
element.innerHTML=值;
对于(var i=element.childNodes.length-1;i>=0;i--){
var childNode=element.childNodes[i];
element.parentNode.insertBefore(childNode,element);
}
element.parentNode.removeChild(元素);
返回true;
});

Blazor
0.5.0版本中添加了渲染原始HTML的功能。这是如何从包含HTML内容的
string
呈现原始HTML的示例:

@((MarkupString)myMarkup)
@功能{
string myMarkup=“

这是一个标记字符串。

”; }

更多信息可以在公告中找到。

请注意,您可以使用MarkupString将标记注入动态Blazor页面,这是Blazor通常不允许的。也许这不是我应该做的,但如果你想插入一个自定义的谷歌搜索框,它会很有用。谢谢,你的建议对我很有帮助。