HttpServerUtility.HtmlEncode Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Codiert eine Zeichenfolge, die in einem Browser angezeigt werden soll.
Verwenden Sie zum Codieren oder Decodieren von Werten außerhalb einer Webanwendung die WebUtility-Klasse.
Überlädt
HtmlEncode(String) |
Codiert eine Zeichenfolge in HTML und gibt diese codiert zurück. |
HtmlEncode(String, TextWriter) |
Codiert eine Zeichenfolge in HTML und sendet die Ausgabe an einen TextWriter-Ausgabestream. |
HtmlEncode(String)
Codiert eine Zeichenfolge in HTML und gibt diese codiert 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
Im folgenden Beispiel wird gezeigt, wie ein Wert html codiert wird, der möglicherweise unsicheren Code codiert. Der Code befindet sich in der CodeBehind-Datei für eine Webseite. Der zu codierende 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, HTML-codieren.
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, aber es zeigt, wie ein Wert innerhalb einer Klasse, der sich nicht in der CodeBehind-Datei befindet, HTML-codiert wird.
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 ordnungsgemäß im Browser angezeigt und nicht vom Browser als HTML interpretiert wird. Wenn eine Textzeichenfolge beispielsweise ein Zeichen kleiner als (<) oder größer als das Zeichen (>) enthält, interpretiert der Browser diese Zeichen als öffnende oder schließende Klammer eines HTML-Tags. Wenn die Zeichen HTML-codiert sind, werden sie in die Zeichenfolgen <
und >
konvertiert, wodurch der Browser das Zeichen kleiner als und größer als das Zeichen richtig anzeigt.
Diese Methode ist eine praktische Möglichkeit, um zur Laufzeit von einer 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 Server
-Eigenschaft 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)
Codiert eine Zeichenfolge in HTML und sendet die Ausgabe an einen TextWriter-Ausgabestream.
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 codierende Zeichenfolge.
- output
- TextWriter
Der TextWriter-Ausgabestream, der die kodierte Zeichenfolge enthält.
Beispiele
Im folgenden Beispiel wird eine Zeichenfolge für die Übertragung per HTTP codiert. Es codiert die Zeichenfolge mit dem Namen TestString
, die den Text "Dies ist eine <Testzeichenfolge>" enthält, und kopiert sie in die Zeichenfolge mit dem Namen EncodedString
"Dies ist eine <Testzeichenfolge>".
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 ordnungsgemäß im Browser angezeigt und nicht vom Browser als HTML interpretiert wird. Wenn eine Textzeichenfolge beispielsweise ein Zeichen kleiner als (<) oder größer als zeichen (>) enthält, interpretiert der Browser diese Zeichen als öffnende oder schließende Klammer eines HTML-Tags. Die HTML-Codierung dieser beiden Zeichen ist <
und >
bzw. , was dazu führt, dass der Browser das Zeichen kleiner als und größer als das Zeichen richtig anzeigt.
HtmlEncode ist eine bequeme Möglichkeit, über eine ASP.NET Anwendung zur Laufzeit auf die HttpUtility.HtmlEncode -Methode zuzugreifen. Intern verwendetHttpUtility.HtmlEncode, HtmlEncode um Zeichenfolgen zu codieren.
Verwenden Sie zum Codieren oder Decodieren von Werten außerhalb einer Webanwendung die WebUtility-Klasse.