【发布时间】:2010-07-29 21:16:52
【问题描述】:
我在任何地方都找不到此信息。可能是因为谷歌忽略了关键字。在您的 aspx 页面中使用 <%: 和 <%= 有区别吗?它们似乎可以互换。
【问题讨论】:
标签: asp.net .net asp.net-mvc tags
我在任何地方都找不到此信息。可能是因为谷歌忽略了关键字。在您的 aspx 页面中使用 <%: 和 <%= 有区别吗?它们似乎可以互换。
【问题讨论】:
标签: asp.net .net asp.net-mvc tags
<%: %> 是 a new thing in ASP.NET MVC 2。与<%= Html.Encode("Text") %> 相同。建议始终使用<%: %>,除非您有特定的理由不这样做(例如,您正在渲染来自已编码的某个文件或数据库的数据)。
【讨论】:
区别在于:
<%= "my <text>" %> 会输出my &lt;text&gt;,这是不正确的 HTML
<%: "my <text>" %>会输出my &lt;text&gt;,这样更好
【讨论】:
@ntcolonel 是对的。此外,对于您的数据已经编码的情况,请使用任何实现 IHtmlString 的方式提供它。这可以防止双重编码,并允许您始终使用<%: %>。
我相信 ASP.NET 4 商店应该倾向于通过政策强制执行 。
此外,新语法一般适用于 ASP.NET 4;不一定只是 MVC,这对 WebForms 开发人员来说是个好消息。
【讨论】: