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 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.