我最近发现TempData在处理控制器中的逻辑后将消息传递回视图。但是当我尝试传递带有消息的html时,它会渲染实际的标签,而不是在页面呈现时将它们解释为html。
有没有办法解决这个问题,还是我的接近有缺陷?
TempData["Message"] = "<span style='color:red;'>There was a problem moving the files.</span>";
以下是浏览器中显示的内容:
<span style='color:red;'>There was a problem moving the files.</span>
谢谢!
答案 0 :(得分:12)
您可以在TempData中解码html,如下所示:
@Html.Raw(TempData["Message"].ToString())
答案 1 :(得分:1)
使用<%=
代替<%:
来处理字符串而不对其进行解码。
答案 2 :(得分:0)
我认为可能是自动编码值;您应该能够调用Server.HtmlDecode将其解码回HTML。
HTH。
答案 3 :(得分:0)
您可以在“查看”文件中更改样式,如下所示:
@if (TempData["Message"] != null)
{
<span style="color:Red;"> @TempData["Message"] </span>
}