HttpServerUtility.UrlEncode Yöntem

Tanım

Web sunucusundan URL aracılığıyla bir istemciye güvenilir HTTP iletimi için bir dize kodlar.

Aşırı Yüklemeler

Name Description
UrlEncode(String)

URL bir dizeyi kodlar ve kodlanmış dizeyi döndürür.

UrlEncode(String, TextWriter)

URL bir dizeyi kodlar ve sonuçta elde edilen çıkışı bir TextWriter çıkış akışına gönderir.

Açıklamalar

UrlEncode, ASP.NET bir uygulamadan çalışma zamanında HttpUtility.UrlEncode yöntemine erişmek için kullanışlı bir yoldur. Dahili olarak, UrlEncode dizeleri kodlamak için kullanır HttpUtility.UrlEncode .

Bir web uygulamasının dışındaki değerleri kodlamak veya kodunu çözmek için sınıfını WebUtility kullanın.

UrlEncode(String)

URL bir dizeyi kodlar ve kodlanmış dizeyi döndürür.

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

Parametreler

s
String

URL ile kodlanan metin.

Döndürülenler

URL ile kodlanmış metin.

Örnekler

Aşağıdaki örnekte, köprü sorgu dizesi değeri olarak kullanılan bir değeri URL ile kodlama işlemi gösterilmektedir. Kod, bir web sayfasının arka planda kod dosyasında bulunur. Kodlanan değer bu örnekte yalnızca örneği basitleştirmek ve URL ile kodlanabilecek değer türünü göstermek için sabit kodlanmıştır. Normalde, kullanıcıdan veya istekten aldığınız bir değeri URL ile kodlarsınız. NextPage bir HyperLink denetime başvurur.

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

Sonraki örnek önceki örneğe benzer, ancak arka planda kod dosyasında olmayan bir sınıfın içinden bir değeri URL ile kodlamayı gösterir.

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

Açıklamalar

URL kodlama, tüm tarayıcıların URL dizelerindeki metinleri doğru şekilde iletmesini sağlar. Soru işareti (?), ve işareti (&), eğik çizgi (/) ve boşluklar gibi karakterler bazı tarayıcılar tarafından kesilebilir veya bozulabilir. Sonuç olarak, bu karakterlerin bir istek dizesindeki <a> bir tarayıcı tarafından yeniden gönderilebildiği etiketlerde veya sorgu dizelerinde kodlanması gerekir.

Bu yöntem, ASP.NET bir uygulamadan çalışma zamanında HttpUtility.UrlEncode yöntemine erişmek için kullanışlı bir yoldur. Bu yöntem dahili olarak dizeleri kodlamak için kullanır HttpUtility.UrlEncode .

ASP.NET web sayfasının arka planda kod dosyasında, Server özelliği aracılığıyla HttpServerUtility sınıfının bir örneğine erişin. Arka planda kod dosyası olmayan bir sınıfta, sınıfının bir örneğine HttpServerUtility erişmek için kullanınHttpContext.Current.Server.

Bir web uygulamasının dışında, değerleri kodlamak veya kodunu çözmek için sınıfını kullanın WebUtility .

Şunlara uygulanır

UrlEncode(String, TextWriter)

URL bir dizeyi kodlar ve sonuçta elde edilen çıkışı bir TextWriter çıkış akışına gönderir.

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)

Parametreler

s
String

Kodlanacak metin dizesi.

output
TextWriter

TextWriter Kodlanmış dizeyi içeren çıkış akışı.

Örnekler

Aşağıdaki örnek, HTTP ile iletim için bir dizeyi kodlar. "Bu bir <Test Dizesidir>" metnini içeren adlı TestStringdizeyi kodlar ve "This+is+a+%3cTest+String%3e." adlı EncodedString dizeye kopyalar.

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()
   

Açıklamalar

URL kodlama, tüm tarayıcıların URL dizelerindeki metinleri doğru şekilde iletmesini sağlar. Soru işareti (?), ve işareti (&), eğik çizgi (/) ve boşluklar gibi karakterler bazı tarayıcılar tarafından kesilebilir veya bozulabilir. Sonuç olarak, bu karakterlerin bir istek dizesindeki <a> bir tarayıcı tarafından yeniden gönderilebildiği etiketlerde veya sorgu dizelerinde kodlanması gerekir.

UrlEncode, ASP.NET bir uygulamadan çalışma zamanında HttpUtility.UrlEncode yöntemine erişmek için kullanışlı bir yoldur. Dahili olarak, UrlEncode dizeleri kodlamak için kullanır HttpUtility.UrlEncode .

Bir web uygulamasının dışındaki değerleri kodlamak veya kodunu çözmek için sınıfını WebUtility kullanın.

Şunlara uygulanır