HttpServerUtility.HtmlEncode Metoda

Definice

Zakóduje řetězec, který se má zobrazit v prohlížeči.

K kódování nebo dekódování hodnot mimo webovou aplikaci použijte WebUtility třídu.

Přetížení

Name Description
HtmlEncode(String)

Html kóduje řetězec a vrátí kódovaný řetězec.

HtmlEncode(String, TextWriter)

Html kóduje řetězec a odešle výsledný výstup do výstupního datového TextWriter proudu.

HtmlEncode(String)

Html kóduje řetězec a vrátí kódovaný řetězec.

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

Parametry

s
String

Textový řetězec, který se má zakódovat.

Návraty

Text kódovaný kódem HTML.

Příklady

Následující příklad ukazuje, jak kódovat kód HTML hodnotu, která potenciálně kóduje nebezpečný kód. Kód se nachází v souboru kódu pro webovou stránku. Hodnota, která se má kódovat, je v tomto příkladu pevně zakódovaná, pouze pro zjednodušení příkladu a zobrazení typu hodnoty, kterou můžete kódovat HTML. Obvykle byste kódoval hodnotu, kterou jste obdrželi od uživatele nebo požadavku. Result odkazuje na Literal ovládací prvek.

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

Další příklad je podobný předchozímu příkladu s tím rozdílem, že ukazuje, jak kódovat hodnotu z třídy, která není v souboru kódu.

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

Poznámky

Kódování HTML zajišťuje, aby se text v prohlížeči zobrazoval správně, a ne interpretoval ho jako HTML. Pokud například textový řetězec obsahuje znak menší než () nebo větší než znaménko (<>), prohlížeč by tyto znaky interpretoval jako levou nebo pravou závorku značky HTML. Když jsou znaky kódovány html, jsou převedeny &lt; na řetězce a &gt;, což způsobí, že prohlížeč zobrazí méně než znaménko a větší než znaménko správně.

Tato metoda představuje pohodlný způsob přístupu k metodě HttpUtility.HtmlEncode za běhu z aplikace ASP.NET. Interně tato metoda používá HttpUtility.HtmlEncode ke kódování řetězců.

V souboru kódu webové stránky ASP.NET přejděte k instanci třídy HttpServerUtility prostřednictvím vlastnosti Server. Ve třídě, která není v souboru kódu, použijte HttpContext.Current.Server pro přístup k instanci HttpServerUtility třídy.

Mimo webovou aplikaci použijte WebUtility třídu ke kódování nebo dekódování hodnot.

Platí pro

HtmlEncode(String, TextWriter)

Html kóduje řetězec a odešle výsledný výstup do výstupního datového TextWriter proudu.

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)

Parametry

s
String

Řetězec, který se má zakódovat.

output
TextWriter

TextWriter Výstupní datový proud, který obsahuje kódovaný řetězec.

Příklady

Následující příklad zakóduje řetězec pro přenos protokolem HTTP. Zakóduje řetězec s názvem TestString, který obsahuje text "Toto je <testovací řetězec>", a zkopíruje ho do řetězce s názvem EncodedString "Toto je <testovací řetězec>".

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

Poznámky

Kódování HTML zajišťuje, že se text správně zobrazí v prohlížeči, který prohlížeč interpretuje jako HTML. Pokud například textový řetězec obsahuje znak menší než () nebo větší než znaménko (<>), prohlížeč by tyto znaky interpretoval jako levou nebo pravou závorku značky HTML. Kódování HTML těchto dvou znaků je &lt; a &gt;, v uvedeném pořadí, což způsobí, že prohlížeč zobrazí méně než znaménko a větší než znaménko správně.

HtmlEncode je pohodlný způsob, jak získat přístup k metodě HttpUtility.HtmlEncode za běhu z aplikace ASP.NET. Interně HtmlEncode se používá HttpUtility.HtmlEncode ke kódování řetězců.

K kódování nebo dekódování hodnot mimo webovou aplikaci použijte WebUtility třídu.

Platí pro