8

@Html.Raw(mystring) normal を使用すると、適切にレンダリングされます例:

@{ ViewBag.Title = "My Site®"; }
<title>@Html.Raw(ViewBag.Title)</title>

適切にレンダリングされます<title>My Site&reg;</title>が、属性で使用すると:

<meta name="description" content="@Html.Raw(ViewBag.Title)" />

それは<meta name="description" content="My Site&amp;reg;" />登録されたマークをレンダリングしないため、正しくないものをレンダリングします。

この動作をどのように修正しますか?

4

3 に答える 3

8

パトリッジが彼の回答で指摘したように、パラメーターに属性マークアップを含めることができます.Raw

あなたの場合、次のような結果になります。

<meta name="description" @Html.Raw("content=\"My Site&amp;reg;\"") />
于 2013-02-15T19:25:01.657 に答える
0

_layout.cshtml でこれを行うことができます。

<title>@{var title = new HtmlString(ViewBag.Title);}@title</title>

これは私にとってはうまくいきました。

于 2014-01-24T14:12:43.353 に答える
0

私はそれが最高の解決策だと思います:

@{ ViewBag.Title = "My Site&reg;"; }
<title>@Html.Raw(ViewBag.Title)</title>
<meta name="description" content="@HttpUtility.HtmlDecode(ViewBag.Title)" />
于 2015-01-16T23:36:42.713 に答える