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
A partir da guia Padrão da Caixa de Ferramentas, arraste um controle Literal para a página.
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>
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> </div> </form> </body> </html>