使用英语阅读

通过


HttpServerUtility.HtmlEncode 方法

定义

对要在浏览器中显示的字符串进行编码。

若要对 Web 应用程序之外的值进行编码或解码,请使用 WebUtility 类。

重载

HtmlEncode(String)

对字符串进行 HTML 编码并返回已编码的字符串。

HtmlEncode(String, TextWriter)

对字符串进行 HTML 解码,并将结果输出发送到 TextWriter 输出流。

HtmlEncode(String)

对字符串进行 HTML 编码并返回已编码的字符串。

public string HtmlEncode (string s);

参数

s
String

要编码的文本字符串。

返回

HTML 编码的文本。

示例

以下示例演示如何对可能编码不安全代码的值进行 HTML 编码。 代码驻留在网页的代码隐藏文件中。 在此示例中,要编码的值是硬编码的,只是为了简化示例并显示可以 HTML 编码的值的类型。 通常,对从用户或请求收到的值进行 HTML 编码。 Result 引用控件 Literal

public partial class _Default : Page
{        
    protected void Page_Load(object sender, EventArgs e)
    {
        Result.Text = Server.HtmlEncode("<script>unsafe</script>");      
    } 
}

下一个示例类似于上一个示例,只不过它演示了如何从不在代码隐藏文件中的类中对值进行 HTML 编码。

public class SampleClass
{
    public string GetEncodedText()
    {
        return HttpContext.Current.Server.HtmlEncode("<script>unsafe</script>");
    }
}

注解

HTML 编码可确保文本在浏览器中正确显示,并且不会被浏览器解释为 HTML。 例如,如果文本字符串包含小于符号 () < 或大于符号 (>) ,浏览器会将这些字符解释为 HTML 标记的左括号或右括号。 当字符经过 HTML 编码时,它们将转换为字符串 &lt;&gt;,这会导致浏览器正确显示小于符号和大于号。

此方法是一种在运行时从 ASP.NET 应用程序访问 HttpUtility.HtmlEncode 方法的便捷方法。 在内部,此方法使用 HttpUtility.HtmlEncode 对字符串进行编码。

在 ASP.NET 网页的代码隐藏文件中,通过 Server 属性访问 类的HttpServerUtility实例。 在不在代码隐藏文件中的类中,使用 HttpContext.Current.Server 访问 类 HttpServerUtility 的实例。

在 Web 应用程序外部,使用 WebUtility 类对值进行编码或解码。

适用于

.NET Framework 4.8.1 和其他版本
产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

HtmlEncode(String, TextWriter)

对字符串进行 HTML 解码,并将结果输出发送到 TextWriter 输出流。

public void HtmlEncode (string s, System.IO.TextWriter output);

参数

s
String

要编码的字符串。

output
TextWriter

TextWriter 输出包含已编码字符串的流。

示例

以下示例对字符串进行编码,以便通过 HTTP 传输。 它会对名为 TestString的字符串进行编码,其中包含文本“这是一个 <测试字符串>”。并将其复制到名为 EncodedString “这是测试 <字符串>”。的字符串中。

String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.HtmlEncode(TestString, writer);
String EncodedString = writer.ToString();

注解

HTML 编码可确保文本在浏览器中正确显示,浏览器不会将其解释为 HTML。 例如,如果文本字符串包含小于符号 () < 或大于符号 (>) ,浏览器会将这些字符解释为 HTML 标记的左括号或右括号。 这两个字符 &lt; 的 HTML 编码分别为 和 &gt;,这会导致浏览器正确显示小于号和大于号。

HtmlEncode 是一种在运行时从 ASP.NET 应用程序访问 HttpUtility.HtmlEncode 方法的便捷方法。 在内部, HtmlEncode 使用 HttpUtility.HtmlEncode 对字符串进行编码。

若要对 Web 应用程序之外的值进行编码或解码,请使用 WebUtility 类。

适用于

.NET Framework 4.8.1 和其他版本
产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1