BlazorにHtml.Rawと同等のものがありますか?

blazor

質問

私は文字列に格納されているいくつかのHTMLを持っています。自動HTMLエンコーディングを使用しないでBlazor / Razorビューをレンダリングするにはどうすればよいですか?

受け入れられた回答

Blazor 0.5.0バージョンで生HTMLをレンダリングする機能が追加されました。これはHTMLコンテンツを含むstringから生のHTMLをレンダリングする方法の例です:

@((MarkupString)myMarkup)

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

詳細は、 「Blazor 0.5.0実験リリースが利用可能です」のアナウンスでご覧いただけます


人気のある回答

今はないが、おそらく次のバージョンでそれを持っているだろう: これに従う

回避策(その問題から):

cshtml

    

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

        protected override void OnAfterRender()
        {
            Microsoft.AspNetCore.Blazor.Browser.Interop.RegisteredFunction.Invoke("RawHtml", Span, Content);
        }
    }

index.html

        
            Blazor.registerFunction('RawHtml', function (element, value) {
                element.innerHTML = value;
                for (var i = element.childNodes.length - 1; i >= 0; i--) {
                    var childNode = element.childNodes[i];
                    element.parentNode.insertBefore(childNode, element);
                }
                element.parentNode.removeChild(element);
                return true;
            });
        




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ