HttpServerUtility.HtmlEncode Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Koduje ciąg, który ma być wyświetlany w przeglądarce.
Aby zakodować lub dekodować wartości poza aplikacją internetową, użyj WebUtility klasy .
Przeciążenia
| Nazwa | Opis |
|---|---|
| HtmlEncode(String) |
Kodowanie HTML ciągu i zwraca zakodowany ciąg. |
| HtmlEncode(String, TextWriter) |
Kod html koduje ciąg i wysyła wynikowe dane wyjściowe do strumienia wyjściowego TextWriter . |
HtmlEncode(String)
Kodowanie HTML ciągu i zwraca zakodowany ciąg.
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
Ciąg tekstowy do kodowania.
Zwraca
Tekst zakodowany w formacie HTML.
Przykłady
W poniższym przykładzie pokazano, jak kodować wartość html, która potencjalnie koduje niebezpieczny kod. Kod znajduje się w pliku za pomocą kodu dla strony internetowej. Wartość do kodowania jest zakodowana w tym przykładzie tylko w celu uproszczenia przykładu i pokazania typu wartości, którą można kodować HTML. Zazwyczaj kodowanie wartości otrzymanej od użytkownika lub żądania jest kodowane w formacie HTML.
Result odwołuje się do kontrolki 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
Następny przykład jest podobny do poprzedniego przykładu, z wyjątkiem tego, jak kodować wartość HTML z klasy, która nie znajduje się w pliku za pomocą kodu.
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
Uwagi
Kodowanie HTML zapewnia poprawne wyświetlanie tekstu w przeglądarce i nie jest interpretowane przez przeglądarkę jako kod HTML. Jeśli na przykład ciąg tekstowy zawiera znak mniejszy niż (<) lub większy niż znak (>), przeglądarka zinterpretuje te znaki jako nawias otwierający lub zamykający tagu HTML. Gdy znaki są zakodowane w formacie HTML, są konwertowane na ciągi < i >, co powoduje, że przeglądarka wyświetla mniej niż znak i więcej niż poprawnie podpisuje.
Ta metoda jest wygodnym sposobem uzyskiwania dostępu do metody HttpUtility.HtmlEncode w czasie wykonywania z aplikacji ASP.NET. Ta metoda używa HttpUtility.HtmlEncode metody do kodowania ciągów.
W pliku za pomocą kodu dla strony internetowej ASP.NET uzyskaj dostęp do wystąpienia klasy HttpServerUtility za pośrednictwem właściwości Server. W klasie, która nie znajduje się w pliku za kodem, użyj polecenia HttpContext.Current.Server , aby uzyskać dostęp do wystąpienia HttpServerUtility klasy.
Poza aplikacją internetową użyj WebUtility klasy , aby kodować lub dekodować wartości.
Dotyczy
HtmlEncode(String, TextWriter)
Kod html koduje ciąg i wysyła wynikowe dane wyjściowe do strumienia wyjściowego TextWriter .
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
Ciąg do kodowania.
- output
- TextWriter
Strumień TextWriter wyjściowy zawierający zakodowany ciąg.
Przykłady
Poniższy przykład koduje ciąg do transmisji przez protokół HTTP. Koduje on ciąg o nazwie TestString, który zawiera tekst "To jest <ciąg> testowy"." i kopiuje go do ciągu o nazwie EncodedString "To jest ciąg< testowy>".
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()
Uwagi
Kodowanie HTML gwarantuje, że tekst będzie poprawnie wyświetlany w przeglądarce, a nie interpretowany przez przeglądarkę jako kod HTML. Jeśli na przykład ciąg tekstowy zawiera znak mniejszy niż (<) lub większy niż znak (>), przeglądarka zinterpretuje te znaki jako nawias otwierający lub zamykający tagu HTML. Kodowanie HTML tych dwóch znaków jest < odpowiednio i >, co powoduje, że przeglądarka wyświetla mniej niż znak i większe niż poprawnie.
HtmlEncode to wygodny sposób uzyskiwania dostępu do metody HttpUtility.HtmlEncode w czasie wykonywania z aplikacji ASP.NET. HtmlEncode Wewnętrznie używa HttpUtility.HtmlEncode metody do kodowania ciągów.
Aby zakodować lub dekodować wartości poza aplikacją internetową, użyj WebUtility klasy .