Condividi tramite


Procedura: aggiungere controlli server Web Literal a una pagina Web Form (Visual Studio)

Aggiornamento: novembre 2007

È possibile aggiungere un controllo server Web Literal a una pagina Web Form quando si desidera impostare del testo a livello di codice senza aggiungere ulteriori tag HTML. Il controllo Literal consente di aggiungere dinamicamente del testo in una pagina senza inserire elementi che non fanno parte del testo dinamico. È ad esempio possibile utilizzare il controllo Literal per visualizzare codice HTML ottenuto da un file o da un flusso.

Nota:

Se si desidera visualizzare testo statico, è possibile utilizzare il linguaggio HTML, senza ricorrere a un controllo Literal. Utilizzare quest'ultimo solo se è necessario modificare dinamicamente il contenuto nel codice lato server.

Per aggiungere un controllo server Web Literal a una pagina Web Form

  1. Dalla scheda Standard della Casella degli strumenti trascinare un controllo Literal nella pagina.

  2. Se lo si desidera, nella categoria Comportamento della finestra Proprietà impostare la proprietà Mode su Transform, PassThrough o Encode. La proprietà Mode definisce il modo in cui vengono gestiti eventuali tag aggiunti al controllo. Per informazioni dettagliate, vedere Cenni preliminari sul controllo server Web Literal.

    Nell'esempio riportato di seguito è illustrata una pagina Web semplice in cui viene visualizzato un titolo in fase di esecuzione. Il corpo della pagina, compreso il controllo Literal, può essere simile al seguente.

    <body>
      <form >
        <h1><asp:Literal id="Headline" runat=server 
          mode="PassThrough"/></h1>
      </form>
    </body>
    
  3. Aggiungere alla pagina il codice per impostare la proprietà Text del controllo in fase di esecuzione.

    Nell'esempio riportato di seguito viene illustrato come impostare a livello di codice il testo e la codifica del controllo Literal. Nella pagina sono inclusi i pulsanti di opzione che consentono all'utente di scegliere fra testo codificato e testo pass-through.

    Nota:

    Se si imposta Text su un testo proveniente da un'origine non attendibile, impostare la proprietà Mode del controllo su Encode per evitare che venga generato un tag eseguibile.

    <%@ 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>
    

Vedere anche

Riferimenti

Cenni preliminari sul controllo server Web Literal