HttpServerUtility.HtmlEncode 方法

定义

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

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

重载

名称 说明
HtmlEncode(String)

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

HtmlEncode(String, TextWriter)

HTML 对字符串进行编码,并将生成的输出发送到 TextWriter 输出流。

HtmlEncode(String)

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

public:
 System::String ^ HtmlEncode(System::String ^ s);
public string HtmlEncode(string s);
member this.HtmlEncode : string -> string
Public Function HtmlEncode (s As String) As String

参数

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>");      
    } 
}
Public Class _Default
    Inherits Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Result.Text = Server.HtmlEncode("<script>unsafe</script>")
    End Sub
End Class

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

public class SampleClass
{
    public string GetEncodedText()
    {
        return HttpContext.Current.Server.HtmlEncode("<script>unsafe</script>");
    }
}
Public Class SampleClass
    Public Function GetEncodedText() As String
        Return HttpContext.Current.Server.HtmlEncode("<script>unsafe</script>")
    End Function
End Class

注解

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

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

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

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

适用于

HtmlEncode(String, TextWriter)

HTML 对字符串进行编码,并将生成的输出发送到 TextWriter 输出流。

public:
 void HtmlEncode(System::String ^ s, System::IO::TextWriter ^ output);
public void HtmlEncode(string s, System.IO.TextWriter output);
member this.HtmlEncode : string * System.IO.TextWriter -> unit
Public Sub HtmlEncode (s As String, output As TextWriter)

参数

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();

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

注解

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

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

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

适用于