Partager via


HttpServerUtility.UrlEncode Méthode

Définition

Encode une chaîne en vue de sa transmission HTTP fiable du serveur web vers un client par le biais de l’URL.

Surcharges

UrlEncode(String)

Encode une chaîne en URL et retourne la chaîne codée.

UrlEncode(String, TextWriter)

Code une chaîne au format URL et envoie le résultat vers un flux de sortie TextWriter.

Remarques

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

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

UrlEncode(String)

Encode une chaîne en URL et retourne la chaîne codé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 à encoder en URL.

Retours

Texte encodé en URL.

Exemples

L’exemple suivant montre comment encoder une valeur url 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 par URL une valeur que vous avez reçue de l’utilisateur ou de la demande. NextPage fait référence à un HyperLink contrôle.

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 url à 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 le texte dans les chaînes d’URL. Les caractères tels qu’un point d’interrogation ( ?), des esperluette (&), des barres obliques (/) et des espaces peuvent être tronqués ou endommagés par certains navigateurs. Par conséquent, ces caractères doivent être encodés dans <a> des balises ou dans des chaînes de requête où les chaînes peuvent être ré-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 au moment de l’exécution HttpUtility.UrlEncode à 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 à un instance de la HttpServerUtility classe via la Server propriété . Dans une classe qui n’est pas dans un fichier code-behind, utilisez HttpContext.Current.Server pour accéder à un instance de la HttpServerUtility classe .

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

S’applique à

UrlEncode(String, TextWriter)

Code une chaîne au format URL et envoie le résultat vers 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 « 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 le texte dans les chaînes d’URL. Les caractères tels qu’un point d’interrogation ( ?), des esperluette (&), des barres obliques (/) et des espaces peuvent être tronqués ou endommagés par certains navigateurs. Par conséquent, ces caractères doivent être encodés dans <a> des balises ou dans des chaînes de requête où les chaînes peuvent être ré-envoyées par un navigateur dans une chaîne de requête.

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

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

S’applique à