Asp.net mvc asp.net mvc标记:<;%:%&燃气轮机;vs.<;%=%&燃气轮机;

Asp.net mvc asp.net mvc标记:<;%:%&燃气轮机;vs.<;%=%&燃气轮机;,asp.net-mvc,tags,Asp.net Mvc,Tags,据我所知,这两种标记类型的作用是相同的。哪一个更适合使用?它对值调用HtmlEncode 有关更多信息,请参阅。是首选,因为它会自动对值进行HTML编码,但是它仅在.NET 4中工作。它们不相同: <%=%> is the same as `Response.Write` <%:%> adds `Server.HtmlEncode` to `Response.Write` 与'Response.Write'相同` 将'Server.HtmlEncode'添加到'Resp

据我所知,这两种标记类型的作用是相同的。哪一个更适合使用?

它对值调用HtmlEncode

有关更多信息,请参阅。

是首选,因为它会自动对值进行HTML编码,但是它仅在.NET 4中工作。

它们不相同:

<%=%> is the same as `Response.Write`
<%:%> adds `Server.HtmlEncode` to `Response.Write`
与'Response.Write'相同`
将'Server.HtmlEncode'添加到'Response.Write'`
因此,首选
(从.NET 4.0开始添加),因为它添加了在输出字符串之前对输出进行编码的安全措施

如果您使用的是.NET 3.5或更早版本,最佳做法是使用


就像

<%= HttpUtility.HtmlEncode(someString) %>


您使用“@Praveen Prasad-我相信他们应该做同样的工作,但实际上有点不同(不足以引起问题,但如果内存可用,一个比另一个更严格)。谢谢。有时我会遇到一个我曾经问过但从未问过的问题…通常更好。在Razor视图引擎中,Microsoft这样做是为了使@与。并且您需要使用@Html.Raw(value)来获得等效的行为。
<%= HttpUtility.HtmlEncode(someString) %>