Sdílet prostřednictvím


HttpServerUtility.HtmlEncode Metoda

Definice

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

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

Přetížení

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ý chcete zakódovat.

Návraty

Text kódovaný ve formátu HTML.

Příklady

Následující příklad ukazuje, jak kódovat hodnotu HTML, která potenciálně kóduje nebezpečný kód. Kód se nachází v souboru kódu na pozadí webové stránky. Hodnota, která se má zakódovat, je v tomto příkladu pevně zakódovaná jenom kvůli zjednodušení příkladu a zobrazení typu hodnoty, kterou můžete zakódovat html. Obvykle byste html kódovat hodnotu, kterou jste obdrželi od uživatele nebo požadavku. Result odkazuje na ovládací prvek 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

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

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 neinterpretoval 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. Při kódování HTML jsou znaky převedeny na řetězce &lt; a &gt;, což způsobí, že prohlížeč zobrazí znaménko menší než a větší než správně.

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

V souboru kódu na pozadí pro ASP.NET webové stránky, přístup k instanci HttpServerUtility třídy prostřednictvím Server vlastnosti. Ve třídě, která není v souboru kódu na pozadí, 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 určený ke kódování

output
TextWriter

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

Příklady

Následující příklad kóduje řetězec pro přenos pomocí protokolu 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 správné zobrazení textu v prohlížeči, nikoli interpretovaný prohlížečem 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;, což způsobí, že prohlížeč správně zobrazí znaménko menší než a větší než.

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

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

Platí pro