HttpServerUtility.HtmlEncode Methode

Definition

Codiert eine Zeichenfolge, die in einem Browser angezeigt werden soll.

Verwenden Sie die WebUtility Klasse, um Werte außerhalb einer Webanwendung zu codieren oder zu decodieren.

Überlädt

Name Beschreibung
HtmlEncode(String)

HTML-codiert eine Zeichenfolge und gibt die codierte Zeichenfolge zurück.

HtmlEncode(String, TextWriter)

HTML-codiert eine Zeichenfolge und sendet die resultierende Ausgabe an einen TextWriter Ausgabedatenstrom.

HtmlEncode(String)

HTML-codiert eine Zeichenfolge und gibt die codierte Zeichenfolge zurück.

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

Parameter

s
String

Die zu codierende Textzeichenfolge.

Gibt zurück

Der HTML-codierte Text.

Beispiele

Das folgende Beispiel zeigt, wie sie einen Wert codieren, der potenziell unsicheren Code codiert. Der Code befindet sich in der CodeBehind-Datei für eine Webseite. Der zu codierte Wert ist in diesem Beispiel nur hartcodiert, um das Beispiel zu vereinfachen und den Typ des Werts anzuzeigen, den Sie möglicherweise HTML-codieren können. In der Regel würden Sie einen Wert, den Sie vom Benutzer oder der Anforderung erhalten haben, htmlcodieren. Result verweist auf ein Literal Steuerelement.

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

Das nächste Beispiel ähnelt dem vorherigen Beispiel, es sei denn, es wird gezeigt, wie sie einen Wert aus einer Klasse codieren, die sich nicht in der CodeBehind-Datei befindet.

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

Hinweise

Die HTML-Codierung stellt sicher, dass Text im Browser korrekt angezeigt und nicht vom Browser als HTML interpretiert wird. Wenn z. B. eine Textzeichenfolge ein kleiner als zeichen (<) oder größer als das Zeichen (>) enthält, interpretiert der Browser diese Zeichen als die öffnende oder schließende Klammer eines HTML-Tags. Wenn die Zeichen HTML-codiert sind, werden sie in die Zeichenfolgen &lt; konvertiert und &gt;, was bewirkt, dass der Browser das kleiner als Zeichen und größer als das Zeichen richtig anzeigt.

Diese Methode ist eine bequeme Möglichkeit, zur Laufzeit über eine ASP.NET Anwendung auf die HttpUtility.HtmlEncode-Methode zuzugreifen. Intern verwendet HttpUtility.HtmlEncode diese Methode zum Codieren von Zeichenfolgen.

Greifen Sie in der CodeBehind-Datei für eine ASP.NET Webseite über die eigenschaft Server auf eine Instanz der HttpServerUtility-Klasse zu. Verwenden Sie HttpContext.Current.Server in einer Klasse, die sich nicht in einer CodeBehind-Datei befindet, um auf eine Instanz der HttpServerUtility Klasse zuzugreifen.

Verwenden Sie außerhalb einer Webanwendung die WebUtility Klasse, um Werte zu codieren oder zu decodieren.

Gilt für:

HtmlEncode(String, TextWriter)

HTML-codiert eine Zeichenfolge und sendet die resultierende Ausgabe an einen TextWriter Ausgabedatenstrom.

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)

Parameter

s
String

Die zu codierenden Zeichenfolge.

output
TextWriter

Der TextWriter Ausgabedatenstrom, der die codierte Zeichenfolge enthält.

Beispiele

Im folgenden Beispiel wird eine Zeichenfolge für die Übertragung durch HTTP codiert. Sie codiert die Zeichenfolge namens TestString, die den Text "Dies ist eine <Testzeichenfolge>" enthält, und kopiert sie in die Zeichenfolge EncodedString namens "This is a <Test String>".

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

Hinweise

Die HTML-Codierung stellt sicher, dass Text im Browser korrekt angezeigt wird und nicht vom Browser als HTML interpretiert wird. Wenn z. B. eine Textzeichenfolge ein kleiner als zeichen (<) oder größer als das Zeichen (>) enthält, interpretiert der Browser diese Zeichen als öffnende oder schließende Klammer eines HTML-Tags. Die HTML-Codierung dieser beiden Zeichen ist &lt; und &gt;, was bewirkt, dass der Browser das kleiner als Zeichen und größer als das Zeichen richtig anzeigt.

HtmlEncode ist eine bequeme Möglichkeit, zur Laufzeit über eine ASP.NET-Anwendung auf die HttpUtility.HtmlEncode-Methode zuzugreifen. Wird HttpUtility.HtmlEncode intern verwendet, HtmlEncode um Zeichenfolgen zu codieren.

Verwenden Sie die WebUtility Klasse, um Werte außerhalb einer Webanwendung zu codieren oder zu decodieren.

Gilt für: