4

我是 ASP.NET MVC 的新手。我见过<%= ... %><%: ... %>。我熟悉经典 ASP 时代的第一个,但不熟悉后者。两者有什么区别?

4

3 回答 3

11

<%= %>- 相当于经典 ASP 中的 response.write。

<% %>- 代表一个代码块,if,then else,for each,等等。

<%: %>- 这是 .NET 4 的新快捷方式,它代表<%= html.encode(item) %>

链接到解释快捷方式的视频(这是一个短片):

于 2010-06-22T01:49:00.393 回答
4

使用 <%: 告诉 ASP.NET 4.0 对正在显示的值执行 Server.HtmlEncode()。
而使用 <%=,则由开发人员决定是否使用 Server.HtmlEncode()。
注意 HtmlEncode() 有助于避免跨脚本攻击。

有关更多信息,请参阅 ScottGu 在此处的帖子。

于 2010-06-22T01:49:08.847 回答
1

<%: expression %> 是 HTML 编码的表达式,在 ASP.NET 4 中引入

相当于 <%= HttpUtility.HtmlEncode(expression) %>

这里了解更多细节。

于 2010-06-22T01:52:18.950 回答