HttpServerUtility.HtmlEncode Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 < na řetězce a >, 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 < a >, 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.