HttpServerUtility.UrlEncode Metoda

Definice

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

Přetížení

Name Description
UrlEncode(String)

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

UrlEncode(String, TextWriter)

Adresa URL zakó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, jak získat přístup k metodě HttpUtility.UrlEncode za běhu z aplikace ASP.NET. Interně UrlEncode se používá HttpUtility.UrlEncode ke kódování řetězců.

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

UrlEncode(String)

Adresa URL zakó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 na kódování URL.

Návraty

Text kódovaný adresou URL.

Příklady

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

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 z třídy, která není v souboru kódu.

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 adresy URL. Některé prohlížeče můžou zkrátit nebo poškodit otazník (?), ampersand (&), lomítko (/) a mezery. V důsledku toho musí být tyto znaky kódovány ve <a> značkách nebo v řetězcích dotazu, ve kterých je možné řetězce znovu odeslat prohlížečem v řetězci požadavku.

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

UrlEncode(String, TextWriter)

Adresa URL zakó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ý 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 "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 adresy URL. Některé prohlížeče můžou zkrátit nebo poškodit otazník (?), ampersand (&), lomítko (/) a mezery. V důsledku toho musí být tyto znaky kódovány ve <a> značkách nebo v řetězcích dotazu, ve kterých je možné řetězce znovu odeslat prohlížečem v řetězci požadavku.

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

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

Platí pro