0
我一直在经历和转换我的项目使用<%:
而不是<%=
语法,并已恼火,我也必须删除Html.Encode(zoozle)
到处都是。如果它留在原地,zoozle
将得到双重编码。为什么不html.encode返回HtmlString
这让我想知道,为什么Html.Encode
返回HtmlString
,所以它不会再被编码<%:
?
我一直在经历和转换我的项目使用<%:
而不是<%=
语法,并已恼火,我也必须删除Html.Encode(zoozle)
到处都是。如果它留在原地,zoozle
将得到双重编码。为什么不html.encode返回HtmlString
这让我想知道,为什么Html.Encode
返回HtmlString
,所以它不会再被编码<%:
?
HtmlString是.NET 4.0框架中引入的新类。 HtmlEncode方法位于.NET 1.1以后的HttpServerUtility类中。微软可能没有改变它,以免破坏所有依赖此方法返回字符串的先前实现。它们不能重载它,因为你不能仅仅重载方法的返回类型。
Phil Haacked有一个正则表达式,可以用来替换Html.Encode的所有实例。 http://haacked.com/archive/2010/04/29/replacing-html-encode.aspx