HttpServerUtility.UrlEncode 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 na potrzeby niezawodnej transmisji HTTP z serwera sieci Web do klienta za pośrednictwem adresu URL.
Przeciążenia
UrlEncode(String) |
Adres URL koduje ciąg i zwraca zakodowany ciąg. |
UrlEncode(String, TextWriter) |
Adres URL koduje ciąg i wysyła wynikowe dane wyjściowe do strumienia wyjściowego TextWriter. |
Uwagi
UrlEncode to wygodny sposób uzyskiwania dostępu do metody HttpUtility.UrlEncode w czasie wykonywania z aplikacji ASP.NET. Wewnętrznie UrlEncode używa HttpUtility.UrlEncode do kodowania ciągów.
Aby zakodować lub dekodować wartości poza aplikacją internetową, użyj klasy WebUtility.
UrlEncode(String)
Adres URL koduje ciąg i zwraca zakodowany ciąg.
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
Tekst do kodu URL.
Zwraca
Tekst zakodowany w adresie URL.
Przykłady
W poniższym przykładzie pokazano, jak zakodować wartość, która jest używana jako wartość ciągu zapytania hiperłącza. 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ć pod adresem URL. Zazwyczaj adres URL koduje wartość otrzymaną od użytkownika lub żądania.
NextPage
odnosi się do kontrolki 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
Następny przykład jest podobny do poprzedniego przykładu, z wyjątkiem tego, jak kodować wartość z adresu URL z klasy, która nie znajduje się w pliku za pomocą kodu.
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
Uwagi
Kodowanie adresów URL gwarantuje, że wszystkie przeglądarki będą prawidłowo przesyłać tekst w ciągach adresów URL. Znaki, takie jak znak zapytania (?), znak ampersand (&), znak ukośnika (/) i spacje mogą być obcięte lub uszkodzone przez niektóre przeglądarki. W związku z tym te znaki muszą być kodowane w <a>
tagach lub w ciągach zapytania, w których ciągi mogą być ponownie wysyłane przez przeglądarkę w ciągu żądania.
Ta metoda jest wygodnym sposobem uzyskiwania dostępu do metody HttpUtility.UrlEncode w czasie wykonywania z aplikacji ASP.NET. Wewnętrznie ta metoda używa HttpUtility.UrlEncode 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 HttpContext.Current.Server
, aby uzyskać dostęp do wystąpienia klasy HttpServerUtility.
Poza aplikacją internetową użyj klasy WebUtility do kodowania lub dekodowania wartości.
Dotyczy
UrlEncode(String, TextWriter)
Adres URL koduje ciąg i wysyła wynikowe dane wyjściowe do strumienia wyjściowego TextWriter.
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
Ciąg tekstowy do kodowania.
- output
- TextWriter
Strumień wyjściowy TextWriter 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 "Jest to <ciąg testowy>." i kopiuje go do ciągu o nazwie EncodedString
jako "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()
Uwagi
Kodowanie adresów URL gwarantuje, że wszystkie przeglądarki będą prawidłowo przesyłać tekst w ciągach adresów URL. Znaki, takie jak znak zapytania (?), znak ampersand (&), znak ukośnika (/) i spacje mogą być obcięte lub uszkodzone przez niektóre przeglądarki. W związku z tym te znaki muszą być kodowane w <a>
tagach lub w ciągach zapytania, w których ciągi mogą być ponownie wysyłane przez przeglądarkę w ciągu żądania.
UrlEncode to wygodny sposób uzyskiwania dostępu do metody HttpUtility.UrlEncode w czasie wykonywania z aplikacji ASP.NET. Wewnętrznie UrlEncode używa HttpUtility.UrlEncode do kodowania ciągów.
Aby zakodować lub dekodować wartości poza aplikacją internetową, użyj klasy WebUtility.