从ViewBag以unicode输出

时间:2012-11-26 14:34:42

标签: c# string asp.net-mvc-3 unicode viewbag

从我的控制器中,我将一个带有unicode的向上箭头(& uarr)或向下箭头(& darr)分配给ViewBag,我想在视图中使用它。

当然我希望输出成为一个箭头,但这不起作用,输出变成一个字符串(例如& uarr)。

控制器:

...
ViewBag.Arrow = "↑";
...

查看:

...
ViewBag.Arrow <br /> // <--- &uarr;
...

3 个答案:

答案 0 :(得分:1)

您必须使用@Html.Raw(ViewBag.Arrow)输出,这样您的字符串将逐字呈现,而不是编码(这就是问题所在)。

使用简单@ViewBag.Arrow输出会导致asp.net mvc编码您的安全html输出值。

答案 1 :(得分:0)

您可以尝试这样的事情:

WebUtility.HtmlDecode(ViewBag.Arrow);

答案 2 :(得分:0)

最好使用@MvcHtmlString.Create(ViewBag.Arrow)而不是@Html.Raw(...。请在此处查看我的答案,原因为:Writing/outputting HTML strings unescaped