HttpServerUtility.UrlEncode Methode

Definitie

Codeert een tekenreeks voor betrouwbare HTTP-overdracht van de webserver naar een client via de URL.

Overloads

Name Description
UrlEncode(String)

URL-codeert een tekenreeks en retourneert de gecodeerde tekenreeks.

UrlEncode(String, TextWriter)

URL-codeert een tekenreeks en verzendt de resulterende uitvoer naar een TextWriter uitvoerstroom.

Opmerkingen

UrlEncode is een handige manier om vanaf een ASP.NET toepassing toegang te krijgen tot de methode HttpUtility.UrlEncode. Intern gebruikt UrlEncodeHttpUtility.UrlEncode voor het coderen van tekenreeksen.

Als u waarden buiten een webtoepassing wilt coderen of decoderen, gebruikt u de WebUtility klasse.

UrlEncode(String)

URL-codeert een tekenreeks en retourneert de gecodeerde tekenreeks.

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

Parameters

s
String

De tekst naar URL-codering.

Retouren

De url-gecodeerde tekst.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een waarde kunt coderen die wordt gebruikt als een querytekenreekswaarde van een hyperlink. De code bevindt zich in het code-behind-bestand voor een webpagina. De waarde die u moet coderen, is in dit voorbeeld alleen vastgelegd om het voorbeeld te vereenvoudigen en het type waarde weer te geven dat u kunt URL-coderen. Normaal gesproken moet u een waarde coderen die u hebt ontvangen van de gebruiker of de aanvraag. NextPage verwijst naar een HyperLink besturingselement.

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

Het volgende voorbeeld is vergelijkbaar met het vorige voorbeeld, behalve hoe u een waarde kunt coderen vanuit een klasse die zich niet in het code-behind-bestand bevindt.

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

Opmerkingen

URL-codering zorgt ervoor dat alle browsers correct tekst in URL-tekenreeksen verzenden. Tekens zoals een vraagteken (?), ampersand (&), slashmarkering (/) en spaties kunnen worden afgekapt of beschadigd door sommige browsers. Als gevolg hiervan moeten deze tekens worden gecodeerd in <a> tags of in querytekenreeksen waar de tekenreeksen opnieuw kunnen worden verzonden door een browser in een aanvraagtekenreeks.

Deze methode is een handige manier om toegang te krijgen tot de methode HttpUtility.UrlEncode tijdens runtime vanuit een ASP.NET toepassing. Intern gebruikt HttpUtility.UrlEncode deze methode om tekenreeksen te coderen.

Open in het code-behind-bestand voor een ASP.NET webpagina een exemplaar van de klasse HttpServerUtility via de eigenschap Server. Gebruik in een klasse die zich niet in een code-behind-bestand HttpContext.Current.Server bevindt, voor toegang tot een exemplaar van de HttpServerUtility klasse.

Gebruik de WebUtility klasse buiten een webtoepassing om waarden te coderen of te decoderen.

Van toepassing op

UrlEncode(String, TextWriter)

URL-codeert een tekenreeks en verzendt de resulterende uitvoer naar een TextWriter uitvoerstroom.

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)

Parameters

s
String

De tekenreeks die moet worden gecodeerd.

output
TextWriter

De TextWriter uitvoerstroom die de gecodeerde tekenreeks bevat.

Voorbeelden

In het volgende voorbeeld wordt een tekenreeks gecodeerd voor verzending door HTTP. Deze codeert de tekenreeks met de naam TestString, die de tekst 'Dit is een <testtekenreeks>' bevat en kopieert deze naar de tekenreeks met de naam 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()
   

Opmerkingen

URL-codering zorgt ervoor dat alle browsers correct tekst in URL-tekenreeksen verzenden. Tekens zoals een vraagteken (?), ampersand (&), slashmarkering (/) en spaties kunnen worden afgekapt of beschadigd door sommige browsers. Als gevolg hiervan moeten deze tekens worden gecodeerd in <a> tags of in querytekenreeksen waar de tekenreeksen opnieuw kunnen worden verzonden door een browser in een aanvraagtekenreeks.

UrlEncode is een handige manier om vanaf een ASP.NET toepassing toegang te krijgen tot de methode HttpUtility.UrlEncode. Intern gebruikt UrlEncodeHttpUtility.UrlEncode voor het coderen van tekenreeksen.

Als u waarden buiten een webtoepassing wilt coderen of decoderen, gebruikt u de WebUtility klasse.

Van toepassing op