HttpServerUtility.UrlEncode Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.