Partilhar via


Como: Adicionar controles de servidor Web Literal a uma página de Web Forms

Você pode adicionar um controle de servidor Web Literal para sua página Web Forms quando você quer definir o texto por programação sem adicionar tags HTML extras.O controle Literal é útil como forma de adicionar texto na página dinamicamente sem adicionar elementos que não são parte do texto dinamicamente.Por exemplo, você pode utilizar o controle Literal para exibir HTML que você leu de um arquivo ou stream.

Observação:

Se você deseja exibir texto estático, você pode apresentá-lo usando HTML — não é necessário um controle Literal.Utilize o controle Literal apenas se você precisa de modificar os conteúdos em um código de servidor dinamicamente.

Para adicionar um controle Literal do servidor Web a um página Web Forms

  1. A partir da guia Padrão da Caixa de Ferramentas, arraste um controle Literal para a página.

  2. Opcionalmente, na categora Comportamento da janela Propriedades, defina a propriedade Mode para Transform, PassThrough, ou Encode.A propriedade Mode especifica como o controle manipula qualquer marcador que é adicionado a ele.Para obter detalhes, consulte:Visão Geral sobre o Controle Literal do Servidor Web.

    O exemplo a seguir mostra uma página da Web simples que exibe um título em tempo de execução.O corpo desta página, incluindo o controle Literal, pode parecer como isto.

    <body>
      <form >
        <h1><asp:Literal id="Headline" runat=server 
          mode="PassThrough"/></h1>
      </form>
    </body>
    
  3. Adicione código à sua página para definir a propriedade Text do controle em tempo de execução.

    O exemplo seguinte exibe como definir por programação o texto e codificação do controle Literal.A página contém botões de opção que permitem que o usuário escolha entre texto codificado e de passagem.

    Observação:

    Se você está definindo a propriedade Text para o texto que você obteve de uma fonte não confiável, defina a propriedade Mode do controle para Encode de forma que a marcação não resulte em um marcador executável.

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

Consulte também

Referência

Visão Geral sobre o Controle Literal do Servidor Web