代码改变世界

【转】使用MvcHtmlString类输出不经过编码的HTML字符串

2012-03-29 14:35  cnb_mtime  阅读(518)  评论(0编辑  收藏  举报

使用MvcHtmlString类输出不经过编码的HTML字符串

2011-03-27

博客的文章存在数据库中时,存放的不仅仅只是文章内容,还有对文章进行格式化的HTML标签。

当我们使用ASP.NET MVC3开发一个个人博客时,我们必须将这些内容从数据库中读取出来,然后输出的屏幕上。

 

一开始我很天真,直接用了下面的代码:

@post.Content

结果一运行,我知道自己悲剧鸟!!!

image

这不是在坑爹么!我要的不是这个啊!!!神马<h3>啊,神马<p>啊,你们出来干什么!!!!

我知道,这一切都是因为输出的时候数据被编码了。好!我试,我试,我各种试,我要找到不进行编码的输出方法!

半个小时后,我终于向谷歌大帝投降。于是,我认识了MvcHtmlString类。只要这样这样就OK 了!

其实,这篇文章你只要看这里就好了

@MvcHtmlString.Create(post.Content)

结束,就这么简单,其他都是废话

恩。结果对了,虽然丑了点,那是因为我还没加CSS,这篇文章也是胡乱复制的测试文章。

image

后记,2011年4月3日

查了跟多的资料以后我找到了其他的解决方法。

@Html.Raw(post.Content)

这段的代码的输出结果和上面的一样。

参考资料

Razor Syntax Quick Reference