Partilhar via


Literal.Mode Propriedade

Definição

Obtém ou define um valor de enumeração que especifica como o conteúdo no controle Literal é renderizado.

public:
 property System::Web::UI::WebControls::LiteralMode Mode { System::Web::UI::WebControls::LiteralMode get(); void set(System::Web::UI::WebControls::LiteralMode value); };
public System.Web.UI.WebControls.LiteralMode Mode { get; set; }
member this.Mode : System.Web.UI.WebControls.LiteralMode with get, set
Public Property Mode As LiteralMode

Valor da propriedade

Um dos valores de enumeração LiteralMode. O padrão é Transform.

Exceções

O tipo especificado não é um dos valores de enumeração de LiteralMode.

Exemplos

O exemplo de código a seguir demonstra como definir a propriedade de Mode um Literal controle. Inicialmente Mode , a propriedade é definida Encode como na sintaxe declarativa do controle. Depois que a página for carregada, o usuário poderá clicar em um botão para definir a Mode propriedade como PassThrough. Isso faz com que o conteúdo da propriedade seja renderizado de Text forma diferente.

Observação

O exemplo a seguir usa o modelo de código de arquivo único e pode não funcionar corretamente se copiado diretamente em um arquivo code-behind. Este exemplo de código deve ser copiado em um arquivo de texto vazio que tenha uma extensão .aspx. Para obter mais informações sobre o modelo de código dos Web Forms, consulte ASP.NET Modelo de Código de Página dos Web Forms.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Literal.Mode Property Example</title>
<script runat="Server">
       
        Sub PassThroughButton_Click(ByVal sender As Object, ByVal e As EventArgs)
   
            Literal1.Mode = LiteralMode.PassThrough
            
            Label1.Text = "The contents of the Literal.Text property " + _
                          "passed through to the browser:"
           
        End Sub
     
   </script>
</head>
<body>
    <form id="Form1" runat="server">
        
        <h3>Literal.Mode Property Example</h3>        
                             
        <asp:Label ID="Label1"
            Text="The HTML-encoded contents of the Literal.Text property:"
            runat="server">     
        </asp:Label><br /><br />
        
        <asp:Literal ID="Literal1"
            Mode="Encode"
            Text= "<b>bold</b><br/><i>italic</i><br/>"          
            runat="server">
        </asp:Literal>
       
        <hr />
       
        <asp:Button ID="PassThroughButton"
            Text="Pass Through Mode"
            OnClick="PassThroughButton_Click"
            runat="server">
        </asp:Button>
         
    </form>
</body>
</html>

Comentários

Use a Mode propriedade para especificar como o conteúdo de um Literal controle deve ser renderizado. Essa propriedade é definida usando um dos LiteralMode valores de enumeração. A tabela a seguir lista os valores possíveis.

Valor Descrição
PassThrough O conteúdo do controle não é modificado.
Encode O conteúdo do controle é convertido em uma cadeia de caracteres codificada em HTML.
Transform Elementos de linguagem de marcação sem suporte são removidos do conteúdo do controle. Se o Literal controle for renderizado em um navegador que dê suporte a HTML ou XHTML, o conteúdo do controle não será modificado.

Se você especificar PassThrough, todo o conteúdo da Text propriedade será passado para o dispositivo ou navegador sem fazer nenhuma modificação. Por exemplo, se a Text propriedade de um Literal controle contiver uma <hr> marca, ela será enviada para todos os dispositivos e navegadores, independentemente de ter suporte ou não.

Se você especificar Encode, o conteúdo da Text propriedade será convertido em uma cadeia de caracteres codificada em HTML antes da renderização. Por exemplo, se a Text propriedade de um Literal controle contiver uma <hr> marca, ela será convertida &lt;Hr&gt; e enviada para o dispositivo ou navegador.

Se você especificar Transform, o comportamento de renderização da Text propriedade dependerá do tipo de marcação que está sendo renderizado. Quando o Literal controle é renderizado para um dispositivo ou navegador que dá suporte a HTML ou XHTML, especificar Transform produz o mesmo comportamento que especificar PassThrough. Todas as marcas de marcação e elementos da Text propriedade são renderizados para o navegador solicitante.

Quando o Literal controle é renderizado para uma linguagem de marcação diferente de HTML ou XHTML, como WML ou cHTML, você pode usar o Transform valor para remover elementos de marcação sem suporte. Nesse caso, todos os elementos de linguagem de marcação da Text propriedade que não têm suporte na linguagem de marcação de destino não são renderizados para o controle. Por exemplo, se a Text propriedade de um Literal controle contiver uma <hr> marca, a marca será removida antes que o conteúdo seja enviado para um dispositivo WML. Se uma marca sem suporte contiver conteúdo, somente a marca será removida e o conteúdo será enviado para o dispositivo ou navegador. Por exemplo, se a Text propriedade contiver o conteúdo <XYZ>Test</XYZ>, as <XYZ> marcas e </XYZ> serão removidas e o texto "Teste" for enviado para o dispositivo ou navegador.

Aplica-se a

Confira também