Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Razor-@Html.Raw()仍在编码&;amp;在元标记属性中_Asp.net Mvc_Asp.net Mvc 3_Razor_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc Razor-@Html.Raw()仍在编码&;amp;在元标记属性中

Asp.net mvc Razor-@Html.Raw()仍在编码&;amp;在元标记属性中,asp.net-mvc,asp.net-mvc-3,razor,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Razor,Asp.net Mvc 4,当我使用@Html.Raw(mystring)normal时,它会正确地呈现示例: @{ ViewBag.Title = "My Site&reg;"; } <title>@Html.Raw(ViewBag.Title)</title> @{ViewBag.Title=“我的网站®;”;} @Html.Raw(ViewBag.Title) 将正确呈现My Site®但当我在属性中使用它时: <meta name="description" c

当我使用@Html.Raw(mystring)normal时,它会正确地呈现示例:

@{ ViewBag.Title = "My Site&reg;"; }
<title>@Html.Raw(ViewBag.Title)</title>
@{ViewBag.Title=“我的网站®;”;}
@Html.Raw(ViewBag.Title)
将正确呈现
My Site®但当我在属性中使用它时:

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

它呈现的
不正确,因为这样它就不会呈现注册标记

你如何纠正这种行为

在他的回答中,您只需将属性标记包含在
.Raw
的参数中即可

在您的情况下,这将导致类似以下情况:

<meta name="description" @Html.Raw("content=\"My Site&amp;reg;\"") />

您可以在_layout.cshtml中执行此操作:

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

这对我很有效。

我认为这是最好的解决方案:

@{ ViewBag.Title = "My Site&reg;"; }
<title>@Html.Raw(ViewBag.Title)</title>
<meta name="description" content="@HttpUtility.HtmlDecode(ViewBag.Title)" />
@{ViewBag.Title=“我的网站®;”;}
@Html.Raw(ViewBag.Title)

Duplicate:and@Ek0nomik这不是真正的重复,因为没有人解决这个问题。他们的建议是将整个标记加载到字符串中,这在每个页面上都是愚蠢的。您只需将属性名称包含在参数to
.Raw
中,如上面链接的第二个问题所示。你必须做一个变通,因为这是一个bug:@Ek0nomik我第一次看的时候没有看到第二个问题。它有更好的解决办法。如果你愿意的话,你可以把它作为答案贴出来。否则,我将发布我的代码解决方案,使其可用。不用担心。我补充了一个答案。祝你好运@贾斯汀·赫尔格森这是我唯一能让它工作的方法,谢谢!