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