0

我一直在经历并将我的项目转换为使用<%:而不是<%=语法,并且很恼火我也必须Html.Encode(zoozle)在整个地方删除。如果它留在原地,zoozle将被双重编码。

这让我想知道,为什么不Html.Encode返回HtmlString,这样它就不会再次被编码<%:

4

1 回答 1

1

HtmlString是 .NET 4.0 框架中引入的一个新类。HtmlEncode方法位于自 .NET 1.1 以来一直存在的 HttpServerUtility 类上。Microsoft 可能没有更改它,以免破坏所有依赖此方法返回字符串的先前实现。他们不能重载它,因为您不能仅在方法的返回类型上重载。

Phil Haacked 有一个正则表达式,可用于替换 Html.Encode 的所有实例。 http://haacked.com/archive/2010/04/29/replacing-html-encode.aspx

于 2011-01-05T23:22:34.120 回答