从我的控制器中,我将带有 unicode 的向上箭头 (&uarr) 或向下箭头 (&darr) 分配给要在视图中使用的 ViewBag。
当然我希望输出变成一个箭头,但这不起作用并且输出变成一个字符串(例如&uarr)。
控制器:
...
ViewBag.Arrow = "↑";
...
看法:
...
ViewBag.Arrow <br /> // <--- ↑
...
从我的控制器中,我将带有 unicode 的向上箭头 (&uarr) 或向下箭头 (&darr) 分配给要在视图中使用的 ViewBag。
当然我希望输出变成一个箭头,但这不起作用并且输出变成一个字符串(例如&uarr)。
控制器:
...
ViewBag.Arrow = "↑";
...
看法:
...
ViewBag.Arrow <br /> // <--- ↑
...
您必须使用 输出@Html.Raw(ViewBag.Arrow)
,这样您的字符串将逐字呈现,而不是编码(这就是问题所在)。
使用简单的输出@ViewBag.Arrow
会导致 asp.net mvc 对您的值进行编码以实现安全的 html 输出。
使用起来@MvcHtmlString.Create(ViewBag.Arrow)
比@Html.Raw(...
. 请在此处查看我的答案,原因是:Writing/outputing HTML strings unscaped
你可以尝试这样的事情:
WebUtility.HtmlDecode(ViewBag.Arrow);