2

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

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

控制器:

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

看法:

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

3 回答 3

2

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

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

于 2012-11-26T14:40:40.893 回答
1

使用起来@MvcHtmlString.Create(ViewBag.Arrow)@Html.Raw(.... 请在此处查看我的答案,原因是:Writing/outputing HTML strings unscaped

于 2012-11-26T14:48:27.823 回答
0

你可以尝试这样的事情:

WebUtility.HtmlDecode(ViewBag.Arrow);
于 2012-11-26T14:38:35.550 回答