Partager via


Comment : ajouter des contrôles serveur Web Literal à une page Web Forms (Visual Studio)

Mise à jour : novembre 2007

Vous pouvez ajouter un contrôle serveur Web Literal à votre page lorsque vous souhaitez définir du texte par programme sans ajouter de balises HTML. Le contrôle Literal offre un moyen d'ajouter dynamiquement du texte dans une page sans ajouter de manière dynamique des éléments qui ne font pas partie du texte dynamique. Par exemple, vous pouvez utiliser le contrôle Literal pour afficher du HTML que vous lisez dans un fichier ou un flux de données.

Remarque :

Si vous souhaitez afficher du texte statique, vous pouvez le présenter en utilisant HTML ; vous n'avez alors pas besoin d'un contrôle Literal. N'utilisez un contrôle Literal que si vous devez modifier le contenu du code serveur de manière dynamique.

Pour ajouter un contrôle serveur Web Literal à une page Web Forms

  1. À partir de l'onglet Standard de la boîte à outils, faites glisser un contrôle Literal dans la page.

  2. Dans la catégorie Behavior de la fenêtre Propriétés, vous pouvez définir la propriété Mode sur Transform, PassThroughou Encode. La propriété Mode spécifie comment le contrôle gère les balises qui lui sont ajoutées. Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web Literal.

    L'exemple suivant montre une page Web simple affichant un gros titre au moment de l'exécution. Le corps de la page, y compris le contrôle Literal, peut apparaître comme suit.

    <body>
      <form >
        <h1><asp:Literal id="Headline" runat=server 
          mode="PassThrough"/></h1>
      </form>
    </body>
    
  3. Ajoutez du code à votre page pour définir la propriété Text du contrôle au moment de l'exécution.

    L'exemple ci-dessous montre comment définir par programme le texte et le codage du contrôle Literal. La page contient des cases d'option qui permettent à l'utilisateur de choisir entre le texte codé et le texte direct.

    Remarque :

    Si vous définissez la propriété Text sur le texte que vous obtenez d'une source non fiable, définissez la propriété Mode du contrôle sur Encode afin que la balise ne produise pas une balise exécutable.

    <%@ Page Language="VB" %>
    <script >
    Protected Sub Page_Load(ByVal sender As Object, _
        ByVal e As System.EventArgs)
        Literal1.Text = "This <b>text</b> is inserted dynamically."
        If radioEncode.Checked = True Then
            Literal1.Mode = LiteralMode.Encode
        ElseIf radioPassthrough.Checked = True Then
            Literal1.Mode = LiteralMode.PassThrough
        End If
    End Sub
    </script>
    
    <html>
    <head ></head>
    <body>
    <form id="form1" >
    <div>
        <br />
        <asp:RadioButton 
            ID="radioEncode" 
    
            GroupName="LiteralMode" 
            Checked="True" 
            Text="Encode" 
            AutoPostBack="True" />
        <br />
        <asp:RadioButton 
            ID="radioPassthrough" 
    
            GroupName="LiteralMode" 
            Text="PassThrough" 
            AutoPostBack="True" />
        <br />
        <br />
        <asp:Literal ID="Literal1" ></asp:Literal>
    </div>
    </form>
    </body>
    </html>
    
    <%@ Page Language="C#" %>
    <script >
        protected void Page_Load(object sender, EventArgs e)
        {
            Literal1.Text = "This <b>text</b> is inserted dynamically.";
            if (radioEncode.Checked == true)
            {
                Literal1.Mode = LiteralMode.Encode;
            }
            if(radioPassthrough.Checked == true)
            {
                Literal1.Mode = LiteralMode.PassThrough;
            }
        }
    </script>
    </script>
    
    <html>
    <head ></head>
    <body>
        <form id="form1" >
        <div>
            <br />
            <asp:RadioButton 
                ID="radioEncode" 
    
                GroupName="LiteralMode" 
                Checked="True" 
                Text="Encode" 
                AutoPostBack="True" />
            <br />
            <asp:RadioButton 
                ID="radioPassthrough" 
    
                GroupName="LiteralMode" 
                Text="PassThrough" 
                AutoPostBack="True" />
            <br />
            <br />
            <asp:Literal ID="Literal1" ></asp:Literal>&nbsp;</div>
        </form>
    </body>
    </html>
    

Voir aussi

Référence

Vue d'ensemble du contrôle serveur Web Literal