Ale*_*ide 5

不同之处在于<%:自动HTML对字符串进行编码,而<%=则不对.

回到MVC2出来之前,为了对HTML进行编码,你必须在视图中使用Html.Encode()方法.

<%= Html.Encode(Model.MyString) %>
Run Code Online (Sandbox Code Playgroud)

然而,对于MVC2,他们添加了<%:标签,它输出相同的内容,但为您处理HTML编码.

<%: Model.MyString %>
Run Code Online (Sandbox Code Playgroud)

根据经验,您应该始终使用<%:标签输出字符串,除非您有充分的理由不这样做.

查看Scott Gu的博客,了解有关该主题的更多信息.

在ASP.NET 4中,我们引入了一种新的代码表达式语法(<%:%>),它可以像<%=%>块一样呈现输出 - 但在执行此操作之前,它还会自动对HTML进行编码.这消除了对显式HTML编码内容的需要......