HttpServerUtility.HtmlEncode Metoda

Definicja

Koduje ciąg do wyświetlenia w przeglądarce.

Aby kodować lub dekodować wartości poza aplikacją internetową, użyj WebUtility klasy .

Przeciążenia

HtmlEncode(String)

Koduje ciąg HTML 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)

Koduje ciąg HTML 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

String

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ść kodowania jest zakodowana na stałe 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 za pomocą kodu 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 pokazano, jak kodować wartość html z klasy, która nie znajduje się w pliku za kodem.

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, że tekst jest poprawnie wyświetlany w przeglądarce i nie jest interpretowany przez przeglądarkę jako kod HTML. Jeśli na przykład ciąg tekstowy zawiera znak mniejszy niż (<) or greater than sign (>), 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 &lt; i &gt;, co powoduje, że przeglądarka wyświetla mniej niż znak i jest większa niż poprawnie podpis.

Ta metoda jest wygodnym sposobem uzyskiwania dostępu do HttpUtility.HtmlEncode metody w czasie wykonywania z aplikacji ASP.NET. Wewnętrznie ta metoda używa metody HttpUtility.HtmlEncode do kodowania ciągów.

W pliku za pomocą kodu dla strony internetowej ASP.NET uzyskaj dostęp do wystąpienia HttpServerUtility klasy za pośrednictwem Server właściwości . 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

TextWriter Strumień 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 "This is a <Test String>"." (To jest .) i kopiuje go do ciągu o nazwie EncodedString "This is a <Test String>".

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 jest interpretowany przez przeglądarkę jako kod HTML. Jeśli na przykład ciąg tekstowy zawiera znak mniejszy niż (<) or greater than sign (>), przeglądarka zinterpretuje te znaki jako nawias otwierający lub zamykający tagu HTML. Kodowanie HTML tych dwóch znaków jest &lt; odpowiednio i &gt;, co powoduje, że przeglądarka wyświetla mniej niż znak i więcej niż poprawnie podpisuje.

HtmlEncodeto wygodny sposób uzyskiwania dostępu do HttpUtility.HtmlEncode metody w czasie wykonywania z aplikacji ASP.NET. HtmlEncode Wewnętrznie używa metody HttpUtility.HtmlEncode do kodowania ciągów.

Aby kodować lub dekodować wartości poza aplikacją internetową, użyj WebUtility klasy .

Dotyczy