:私はそれを使用する場合レイザー - @ Html.Raw()まだメタタグに&をコードする属性私は、@ Html.Raw(のMyString)を使用する場合、通常、それが適切に例レンダリング
@{ ViewBag.Title = "My Site®"; }
<title>@Html.Raw(ViewBag.Title)</title>
が正しく<title>My Site®</title>
をレンダリングしますが属性に:
<meta name="description" content="@Html.Raw(ViewBag.Title)" />
それはそれは、登録マークを表示されませんので、正しくない<meta name="description" content="My Site&reg;" />
をレンダリングします。
どのようにこの動作を修正しますか?
重複:http://stackoverflow.com/questions/11963453/why-is-html-raw-escaping-ampersand-in-anchor-tag -in-asp-net-mvc-4およびhttp://stackoverflow.com/questions/12321616/why-is-mvc-4-razor-escaping-ampersand-when-using-html-raw-in-a-title -attribute –
@ Ek0nomikそれは誰もその問題を解決しなかったので、実際には重複していません。彼らは、文字列にタグ全体をロードすることを提案しており、それはすべてのページで愚かなことです。 – ddilsaver
上記の2番目の質問に示すように、属性名を '.Raw'のパラメータに含めることができます。これはバグであるため、回避する必要があります:http://aspnetwebstack.codeplex.com/workitem/393。 –