C# 从ViewBag以unicode格式输出

C# 从ViewBag以unicode格式输出,c#,string,asp.net-mvc-3,unicode,viewbag,C#,String,Asp.net Mvc 3,Unicode,Viewbag,从我的控制器中,我将使用unicode向上箭头(&uarr)或向下箭头(&darr)分配给我要在视图中使用的ViewBag 当然,我希望输出变成箭头,但这不起作用,输出变成字符串(例如&uarr) 控制器: ... ViewBag.Arrow = "&uarr;"; ... ... ViewBag.Arrow <br /> // <--- &uarr; ... 查看: ... ViewBag.Arrow = "&uarr;"; ... ... Vi

从我的控制器中,我将使用unicode向上箭头(&uarr)或向下箭头(&darr)分配给我要在视图中使用的ViewBag

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

控制器:

...
ViewBag.Arrow = "&uarr;";
...
...
ViewBag.Arrow <br /> // <--- &uarr;
...
查看:

...
ViewBag.Arrow = "&uarr;";
...
...
ViewBag.Arrow <br /> // <--- &uarr;
...
。。。

ViewBag.Arrow
/您可以尝试以下方法:

WebUtility.HtmlDecode(ViewBag.Arrow);

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


简单地使用
@ViewBag.Arrow
输出会导致asp.net mvc对您的值进行编码,以实现安全的html输出。

使用
@MvcHtmlString.Create(ViewBag.Arrow)
比使用
@html.Raw(…
更好。有关原因,请参阅我的回答: