ASP.NET MVC 给ViewBag赋值Html字符转义问题
我的viewbag存的是html代码,前台页面不解析html,直接转义了html的代码,肯定,是前台或者后台需要转义一下!
今天再给自己总结一下,关于ViewBag赋值Html格式值,但是在web页显示不正常;
例如,ViewBag.Content = "<p>你好,我现在测试一个东西.</p>";
前台页面<div>@VIewBag.Content</div>
结果在页面上显示:<p>你好,我现在测试一个东西.</p>,通过火狐编辑的时候发现,源码为,<p>你好,我现在测试一个东西.</p>
这样显然不是我们想要的,而且这样对应通过编辑器保存到数据库中的Html格式字段,取出之后不能显示正确的样式;
在网上翻查一遍找到解决方法
<div>@Html.Raw(ViewBag.Content)</div>
这样显示就正常了
2. 引号需要单独处理,因为引号需要变成转义字符(\")但是实际在前台显示时确是(")
会发生异常,如果是图片是的话将双引号(")替换成单引号(')