the System.Web.HttpUtility.HtmlEncode(Object)
overload究竟做了什么?为什么会有一个方法将HTML编码为任何类型的对象?你会认为文档会提供更多信息,因为这种操作看起来有点模糊......
答案 0 :(得分:2)
它与HttpUtility.HtmlEncode(String)
做同样的事情,除了它首先将它转换为字符串。
您可以在reference source
中确切了解它的作用public static String HtmlEncode(object value) {
if (value == null) {
// Return null to be consistent with HtmlEncode(string)
return null;
}
var htmlString = value as IHtmlString;
if (htmlString != null) {
return htmlString.ToHtmlString();
}
return HtmlEncode(Convert.ToString(value, CultureInfo.CurrentCulture));
}
首先它检查对象是否实现IHtmlString
并调用ToHtmlString()
,如果它没有调用对象Convert.ToString
,则使用HtmlEncode
的字符串重载转换后的字符串返回结果。