2017.11.10
2020.1.7

RazorでHTML文字列をエンコードせずに表示する

ASP.NETのRazorでHTML文字列をエンコードをせずにそのままHTMLとして出力すには、Html.Raw()メソッドを使います。

コード(Html.Raw()を使わない場合)

Html.Raw()を使わずに出力すると、HTMLの予約文字がエスケープ処理されて、HTMLタグが認識されずに文字列としてそのまま出力されます。


@{
    ViewData["HtmlStr"] = "<span>Hello World</span>";
}

<p>@ViewData["HtmlStr"]</p>

実際の表示

<span>Hello World</span>

コード(Html.Raw()を使う場合)

これをHtml.Raw()メソッドを使って出力すると以下のようになります。


@{
    ViewData["HtmlStr"] = "<span>Hello World</span>";
}

<p>@Html.Raw(ViewData["HtmlStr"])</p>

実際の表示

Hello World

ASP.NET Core】関連記事