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.
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 <
a >
, 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 <
a >
, 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 .