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