[.NET MVC]Using Html.Raw() method to show content include Html tags in .NET MVC(under Razor ViewEngine)

摘要:[.NET MVC]Using Html.Raw() method to show content include Html tags in .NET MVC(under Razor ViewEngine)


在.NET MVC中如果使用Razor作为ViewEngine 我们最常用来输出一个model的参数的用法应该就是@了,详细的说明与用法可以参考Demo大的ASP.NET MVC3 Razor 初心者容易遇到的问题。

这边要讲的是如果你今天model的参数是一个包含HTML Tag的内容,如:

click me

或是

<a hef="http://www.google.com.tw">click me</a>

*上例HTML特殊符encode可参考W3school的HTML ISO-8859-1 Reference

上面两个如果你直接使用@将其直印出的话就变成画面上直接出现你的内容值,这边用印出一个空白non-breaking space( )为例:

在View里面的写法如果是下面这样


    @item.BaseCurrencySymbol

如果改用Html.Raw()来输出值的话


    @Html.Raw(item.BaseCurrencySymbol)

从上面就可以明显看出差异了,这边再来看一下官方文档的解说(原文内容)。

HtmlHelper.Raw Method (String)

Returns markup that is not HTML encoded.

  • Namespace: System.Web.Mvc

  • Assembly: System.Web.Mvc (in System.Web.Mvc.dll)

如果你有使用类似CKEditor这种编辑器plugin的话就一定要记得将输出改为Html.Raw()的方式来转换,避免直接将encode的Html Tag印出



如果觉得文章还不错麻烦请在文章最上面给予推荐,你的支持是小弟继续努力产出的动力!