正如ScottGu在他的博客文章中所说的那样«默认情况下,使用@ block发出的内容会自动进行HTML编码,以更好地防范XSS攻击情形» 我的问题是:如何输出非HTML编码的字符串?
为简单起见,请坚持这个简单的案例:
@{ var html = "Click me" // I want to emit the previous string as pure HTML code... }
miguelv.. 109
这是我最喜欢的方法:
@Html.Raw("my paragraph text
")
来源是Phil Haack的Razor语法参考:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
这是我最喜欢的方法:
@Html.Raw("my paragraph text
")
来源是Phil Haack的Razor语法参考:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
您可以创建一个不会获得HTML编码的MvcHtmlString的新实例.
@{ var html = MvcHtmlString.Create("Click me") }
希望Razor的未来有一个更简单的方法.
如果您没有使用MVC,可以试试这个:
@{ var html = new HtmlString("Click me") }
新的HtmlString绝对是答案.
我们研究了其他一些剃刀语法的变化,但最终它们都没有真正比新的HtmlString更短.
但是,我们可以将其包装成一个帮手.也许...
@Html.Literal("something
")
要么
@"something
".AsHtml()