我无法在任何地方找到此信息。可能是因为谷歌忽略了关键词。在您的aspx页面中使用<%:
和<%=
之间有区别吗?它们似乎可以互换。
答案 0 :(得分:19)
<%: %>
是a new thing in ASP.NET MVC 2。它与<%= Html.Encode("Text") %>
相同。建议始终使用<%: %>
,除非您有某些特定原因不这样做(例如,您正在从已编码的某个文件或数据库中呈现数据)。
答案 1 :(得分:6)
区别在于:
<%= "my <text>" %>
将输出my <text>
,这是不正确的HTML
<%: "my <text>" %>
将输出my <text>
,这是更好的
答案 2 :(得分:6)
@ntcolonel是对的钱。此外,对于已对数据进行编码的情况,请使用实现IHtmlString
的任何内容进行提供。这可以防止双重编码,并允许您始终使用<%: %>
。
我相信ASP.NET 4商店应该倾向于强制执行&lt;%:%&gt;按政策。
此外,新语法通常适用于ASP.NET 4;不一定只是MVC,这对WebForms开发人员来说是个好消息。