将带有 html 标签的纯文本转换为 html 字符串并在 Blazor 中呈现

Convert plain text with html tags to html string and render it in Blazor

样本:

@{
     var s = "<p>Sample text</p>";
 }

期望:

Sample text.

我想在浏览器上呈现它,但我无法呈现它。它只是将 s 的整个值输出为文本字符串。我已经试过了

@(new HtmlString(s))

HttpUtility.HtmlEncode编码,用HttpUtility.HtmlDecode解码,但还是没用。

你需要

<div >@((MarkupString)s)</div>

@code
{
    string s = "<p>Sample text</p>";
}

<p> 将在 <div>

内呈现

使用 RenderFragment :

@page "/"

<h1>Hello, world!</h1>

Welcome to your new app.

@StringToHtml("Hello<h1>text</h1>")

@code {

    RenderFragment StringToHtml(string htmlString)
    {
        return new RenderFragment(b => b.AddMarkupContent(0, htmlString));
    }
}