HttpServerUtility.UrlEncode 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í.
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 .