在ASP.NET MVC中引入了<%:
标记来替换Html帮助程序的<%=
。但这意味着什么,与前一个有什么不同?我应该何时使用<%=
和何时<%:
?
谢谢
答案 0 :(得分:14)
在ASP.NET 4中,<%: xyz %>
语法将与<%= Server.HtmlEncode(xyz) %>
在先前版本中执行的操作相同。它只是一种捷径,因为它经常被使用。
正如Richard在下文所述,它还可以确定是否需要根据字符串是否实现IHtmlString
接口来编码字符串。
答案 1 :(得分:8)
IIRC,<%:
会自动提供HTML编码,因此您无需亲自动手。
使用ASP.NET 4,我们将介绍一个 新代码表达式语法(
<%: %>
) 它会像<%= %>
块一样呈现输出 做 - 但也自动HTML 在这样做之前编码它。
阅读博客文章了解更多细节。
答案 2 :(得分:3)
&lt;%=直接注入值而&lt;%:自动为您逃脱所有可怕的特殊字符。
换句话说,
<%: myString %>
与
相同 <%= Server.HtmlEncode(myString) %>