Partager via


HttpServerUtility.UrlEncode Méthode

Définition

Encode une chaîne pour une transmission HTTP fiable du serveur Web vers un client via l’URL.

Surcharges

UrlEncode(String)

L’URL encode une chaîne et retourne la chaîne encodée.

UrlEncode(String, TextWriter)

L’URL encode une chaîne et envoie la sortie obtenue à un flux de sortie TextWriter.

Remarques

UrlEncode est un moyen pratique d’accéder à la méthode HttpUtility.UrlEncode au moment de l’exécution à partir d’une application ASP.NET. En interne, UrlEncode utilise HttpUtility.UrlEncode pour encoder des chaînes.

Pour encoder ou décoder des valeurs en dehors d’une application web, utilisez la classe WebUtility.

UrlEncode(String)

L’URL encode une chaîne et retourne la chaîne encodée.

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

Paramètres

s
String

Texte encodé par URL.

Retours

Texte encodé par URL.

Exemples

L’exemple suivant montre comment encoder en URL une valeur utilisée comme valeur de chaîne de requête d’un lien hypertexte. Le code réside dans le fichier code-behind d’une page web. La valeur à encoder est codée en dur dans cet exemple uniquement pour simplifier l’exemple et afficher le type de valeur que vous pouvez encoder par URL. En règle générale, vous devez encoder l’URL une valeur que vous avez reçue de l’utilisateur ou de la demande. NextPage fait référence à un contrôle 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

L’exemple suivant est similaire à l’exemple précédent, sauf qu’il montre comment encoder une valeur à partir d’une classe qui n’est pas dans le fichier code-behind.

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

Remarques

L’encodage d’URL garantit que tous les navigateurs transmettent correctement du texte dans des chaînes d’URL. Les caractères tels qu’un point d’interrogation ( ?), l’ampersand (&), la barre oblique (/) et les espaces peuvent être tronqués ou endommagés par certains navigateurs. Par conséquent, ces caractères doivent être encodés dans <a> balises ou dans des chaînes de requête où les chaînes peuvent être re-envoyées par un navigateur dans une chaîne de requête.

Cette méthode est un moyen pratique d’accéder à la méthode HttpUtility.UrlEncode au moment de l’exécution à partir d’une application ASP.NET. En interne, cette méthode utilise HttpUtility.UrlEncode pour encoder des chaînes.

Dans le fichier code-behind d’une page web ASP.NET, accédez à une instance de la classe HttpServerUtility via la propriété Server. Dans une classe qui n’est pas dans un fichier code-behind, utilisez HttpContext.Current.Server pour accéder à une instance de la classe HttpServerUtility.

En dehors d’une application web, utilisez la classe WebUtility pour encoder ou décoder des valeurs.

S’applique à

UrlEncode(String, TextWriter)

L’URL encode une chaîne et envoie la sortie obtenue à un flux de sortie 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)

Paramètres

s
String

Chaîne de texte à encoder.

output
TextWriter

Flux de sortie TextWriter qui contient la chaîne encodée.

Exemples

L’exemple suivant encode une chaîne pour la transmission par HTTP. Il encode la chaîne nommée TestString, qui contient le texte « Il s’agit d’une chaîne de test <>. » et la copie dans la chaîne nommée EncodedString en tant que « 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()
   

Remarques

L’encodage d’URL garantit que tous les navigateurs transmettent correctement du texte dans des chaînes d’URL. Les caractères tels qu’un point d’interrogation ( ?), l’ampersand (&), la barre oblique (/) et les espaces peuvent être tronqués ou endommagés par certains navigateurs. Par conséquent, ces caractères doivent être encodés dans <a> balises ou dans des chaînes de requête où les chaînes peuvent être re-envoyées par un navigateur dans une chaîne de requête.

UrlEncode est un moyen pratique d’accéder à la méthode HttpUtility.UrlEncode au moment de l’exécution à partir d’une application ASP.NET. En interne, UrlEncode utilise HttpUtility.UrlEncode pour encoder des chaînes.

Pour encoder ou décoder des valeurs en dehors d’une application web, utilisez la classe WebUtility.

S’applique à