|
|
原来的html代码:
- <!DOCTYPE html>
- <html>
- <head>
- <meta name="viewport" content="width=device-width" />
- <title>Index</title>
- <scrip{过滤}t src="/Content/scrip{过滤}ts/jquery-1.4.4.min.js"></scrip{过滤}t>
- <scrip{过滤}t>
- $(function () {
- $("#btntest").click(function () {
- $("#test").append('@ViewBag.Test');
- });
- });
- </scrip{过滤}t>
- </head>
- <body>
- <div>
- <div id="test"></div>
- <input type="button" value="测试" id="btntest" />
- </div>
- </body>
- </html>
复制代码 后台代码:
- public ActionResult Index()
- {
- ViewBag.Test = "<b>BBB</b>";
- return View();
- }
复制代码
然后,我的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>
这样显示就正常了
|
上一篇:sql xml 入门教程下一篇:SQLServer实现split分割字符串万能方法
|