C#文字列として保存されたHTML要素を正しく表示するにはどうすればよいですか?

Nov 23 2020

C#文字列に格納されているHTMLコードがいくつかあります。HTMLコードではなくテキストとして表示したいのですが。サンプルコードは次のとおりです。

@page "/page"
@using System
@using System.Net

@{
    var link = "<a href='https://apple.com'>Link</a>"
}

<h1>Page</h1>

@WebUtility.HtmlDecode(link)

私は(MVCではなく)Blazorを使用しており、この質問で推奨されているようにHtmlDecodeメソッドを使用してみました。リンクをそのように表示したいのですが:

リンク

ただし、次のように表示されます。

<a href="https://apple.com">link</a>

他のHTML要素でも同じ問題が発生しています。正しく表示させる方法を知っている人はいますか?

回答

3 BrianParker Nov 23 2020 at 04:22

使用する MarkupString

@((MarkupString)link)

@{
    string link = "<a href='https://apple.com'>Link</a>"
}
RikudouEnSof Nov 23 2020 at 04:17

HTMLを保存した場合。次に、HTMLヘルパーやRazorヘルパーを使用する代わりに、@ variableNameを使用してみてください

@page "/page"
@using System
@using System.Net

@{
    var link = "<a href='https://apple.com'>Link</a>"
}

<h1>Page</h1>

@link