Sdílet prostřednictvím


HttpServerUtility.UrlEncode Metoda

Definice

Kóduje řetězec pro spolehlivý přenos HTTP z webového serveru do klienta prostřednictvím adresy URL.

Přetížení

UrlEncode(String)

Adresa URL kóduje řetězec a vrátí kódovaný řetězec.

UrlEncode(String, TextWriter)

Adresa URL kóduje řetězec a odešle výsledný výstup do výstupního datového TextWriter proudu.

Poznámky

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

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

UrlEncode(String)

Adresa URL kóduje řetězec a vrátí kódovaný řetězec.

public:
 System::String ^ UrlEncode(System::String ^ s);
public string UrlEncode (string s);
member this.UrlEncode : string -> string
Public Function UrlEncode (s As String) As String

Parametry

s
String

Text, který se má zakódovat pomocí adresy URL.

Návraty

Text kódovaný adresou URL.

Příklady

Následující příklad ukazuje, jak zakódovat hodnotu url, která se používá jako hodnota řetězce dotazu hypertextového odkazu. 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 pomocí adresy URL. Obvykle byste zakódoval adresu URL hodnotu, kterou jste obdrželi od uživatele nebo požadavku. NextPage odkazuje na ovládací prvek HyperLink .

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string destinationURL = "http://www.contoso.com/default.aspx?user=test";

        NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL);
    }             
}
Public Class _Default
    Inherits Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"

        NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL)
    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 pomocí adresy URL v rámci třídy, která není v souboru kódu na pozadí.

public class SampleClass
{
    public string GetUrl()
    {
        string destinationURL = "http://www.contoso.com/default.aspx?user=test";

        return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL);
    }
}
Public Class SampleClass
    Public Function GetUrl() As String
        Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"

        Return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL)
    End Function
End Class

Poznámky

Kódování adresy URL zajišťuje, že všechny prohlížeče budou správně přenášet text v řetězcích adres URL. Znaky jako otazník (?), ampersand (&), lomítko (/) a mezery můžou být v některých prohlížečích zkrácené nebo poškozené. V důsledku toho musí být tyto znaky zakódovány ve <a> značkách nebo v řetězcích dotazu, kde lze řetězce znovu odeslat prohlížečem v řetězci požadavku.

Tato metoda představuje pohodlný způsob přístupu HttpUtility.UrlEncode k metodě za běhu z ASP.NET aplikace. Interně tato metoda používá HttpUtility.UrlEncode 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

UrlEncode(String, TextWriter)

Adresa URL kóduje řetězec a odešle výsledný výstup do výstupního datového TextWriter proudu.

public:
 void UrlEncode(System::String ^ s, System::IO::TextWriter ^ output);
public void UrlEncode (string s, System.IO.TextWriter output);
member this.UrlEncode : string * System.IO.TextWriter -> unit
Public Sub UrlEncode (s As String, output As TextWriter)

Parametry

s
String

Textový řetězec, který chcete zakódovat.

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 "This+is+a+%3cTest+String%3e".

String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.UrlEncode(TestString, writer);
String EncodedString = writer.ToString();

Dim TestString As String = "This is a <Test String>."
Dim writer As New StringWriter
Server.UrlEncode(TestString, writer)
Dim EncodedString As String = writer.ToString()
   

Poznámky

Kódování adresy URL zajišťuje, že všechny prohlížeče budou správně přenášet text v řetězcích adres URL. Znaky jako otazník (?), ampersand (&), lomítko (/) a mezery můžou být v některých prohlížečích zkrácené nebo poškozené. V důsledku toho musí být tyto znaky zakódovány ve <a> značkách nebo v řetězcích dotazu, kde lze řetězce znovu odeslat prohlížečem v řetězci požadavku.

UrlEncode je pohodlný způsob přístupu k HttpUtility.UrlEncode metodě za běhu z ASP.NET aplikace. Interně používá UrlEncodeHttpUtility.UrlEncode 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