HttpServerUtility.HtmlEncode 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 l'afficher dans un navigateur.
Pour coder ou décoder les valeurs en dehors d’une application web, utilisez la classe WebUtility.
Surcharges
HtmlEncode(String) |
Encode une chaîne au format HTML et retourne la chaîne encodée. |
HtmlEncode(String, TextWriter) |
Encode une chaîne au format HTML et envoie le résultat vers un flux de sortie TextWriter. |
HtmlEncode(String)
Encode une chaîne au format HTML et retourne la chaîne encodée.
public:
System::String ^ HtmlEncode(System::String ^ s);
public string HtmlEncode (string s);
member this.HtmlEncode : string -> string
Public Function HtmlEncode (s As String) As String
Paramètres
- s
- String
Chaîne de texte à encoder.
Retours
Texte encodé au format HTML.
Exemples
L’exemple suivant montre comment encoder au format HTML une valeur qui code potentiellement du code non sécurisé. 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 html. En règle générale, vous devez encoder au format HTML une valeur que vous avez reçue de l’utilisateur ou de la demande.
Result
fait référence à un Literal
contrôle.
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Result.Text = Server.HtmlEncode("<script>unsafe</script>");
}
}
Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Result.Text = Server.HtmlEncode("<script>unsafe</script>")
End Sub
End Class
L’exemple suivant est similaire à l’exemple précédent, sauf qu’il montre comment encoder au format HTML une valeur à partir d’une classe qui ne se trouve pas dans le fichier code-behind.
public class SampleClass
{
public string GetEncodedText()
{
return HttpContext.Current.Server.HtmlEncode("<script>unsafe</script>");
}
}
Public Class SampleClass
Public Function GetEncodedText() As String
Return HttpContext.Current.Server.HtmlEncode("<script>unsafe</script>")
End Function
End Class
Remarques
L’encodage HTML permet de s’assurer que le texte s’affiche correctement dans le navigateur et qu’il n’est pas interprété comme html. Par exemple, si une chaîne de texte contient un signe inférieur à (<) ou supérieur au signe (>), le navigateur interpréterait ces caractères comme le crochet ouvrant ou fermant d’une balise HTML. Lorsque les caractères sont encodés au format HTML, ils sont convertis en chaînes <
et >
, ce qui permet au navigateur d’afficher correctement le signe inférieur à et supérieur au signe.
Cette méthode est un moyen pratique d’accéder à la méthode au moment de l’exécution HttpUtility.HtmlEncode à partir d’une application ASP.NET. En interne, cette méthode utilise HttpUtility.HtmlEncode pour encoder des chaînes.
Dans le fichier code-behind d’une page web ASP.NET, accédez à une 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 à une instance de la HttpServerUtility classe .
En dehors d’une application web, utilisez la WebUtility classe pour encoder ou décoder des valeurs.
S’applique à
HtmlEncode(String, TextWriter)
Encode une chaîne au format HTML et envoie le résultat vers un flux de sortie TextWriter.
public:
void HtmlEncode(System::String ^ s, System::IO::TextWriter ^ output);
public void HtmlEncode (string s, System.IO.TextWriter output);
member this.HtmlEncode : string * System.IO.TextWriter -> unit
Public Sub HtmlEncode (s As String, output As TextWriter)
Paramètres
- s
- String
Chaîne à 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
« Il s’agit d’une <chaîne de> test ».
String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.HtmlEncode(TestString, writer);
String EncodedString = writer.ToString();
Dim TestString As String = "This is a <Test String>."
Dim writer As New StringWriter
Server.HtmlEncode(TestString, writer)
Dim EncodedString As String = writer.ToString()
Remarques
L’encodage HTML garantit que le texte sera correctement affiché dans le navigateur, et non interprété par le navigateur comme html. Par exemple, si une chaîne de texte contient un signe inférieur à (<) ou supérieur au signe (>), le navigateur interprète ces caractères comme un crochet ouvrant ou fermant d’une balise HTML. L’encodage HTML de ces deux caractères est <
et >
, respectivement, ce qui permet au navigateur d’afficher correctement le signe inférieur à et supérieur au signe.
HtmlEncode est un moyen pratique d’accéder à la méthode au moment de l’exécution HttpUtility.HtmlEncode à partir d’une application ASP.NET. En interne, HtmlEncode utilise HttpUtility.HtmlEncode pour encoder des chaînes.
Pour coder ou décoder les valeurs en dehors d’une application web, utilisez la classe WebUtility.