Literal.Mode Propriedade

Definição

Recebe ou define um valor de enumeração que especifica como o conteúdo no Literal controlo é 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 de Propriedade

Um dos LiteralMode valores de enumeração. A predefinição é Transform.

Exceções

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

Exemplos

O exemplo de código seguinte demonstra como definir a propriedade de Literal um Mode controlo. A Mode propriedade é inicialmente definida para Encode na sintaxe declarativa do controlo. Depois de a página carregar, o utilizador pode clicar num botão para definir a Mode propriedade para PassThrough. Isto faz com que o conteúdo da Text propriedade fique renderizado de forma diferente.

Note

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

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

Observações

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

Value Descrição
PassThrough O conteúdo do controlo não é modificado.
Encode O conteúdo do controlo é convertido para uma cadeia codificada em HTML.
Transform Elementos da linguagem de marcação não suportados são removidos do conteúdo do controlo. Se o Literal controlo for renderizado num navegador que suporta HTML ou XHTML, o conteúdo do controlo não é modificado.

Se especificar PassThrough, todo o conteúdo da Text propriedade é passado para o dispositivo ou navegador sem quaisquer modificações. Por exemplo, se a Text propriedade de um Literal controlo contiver uma <hr> etiqueta, ela é enviada para todos os dispositivos e browsers, independentemente de ser suportada ou não.

Se especificar Encode, o conteúdo da Text propriedade é convertido numa cadeia codificada em HTML antes da renderização. Por exemplo, se a Text propriedade de um Literal controlo contiver uma <hr> etiqueta, esta é convertida para &lt;Hr&gt; e enviada para o dispositivo ou navegador.

Se especificar Transform, o comportamento de renderização da Text propriedade depende do tipo de marcação que está a ser renderizada. Quando o Literal controlo é renderizado para um dispositivo ou navegador que suporta HTML ou XHTML, especificar Transform produz o mesmo comportamento que especificar PassThrough. Todas as etiquetas de marcação e elementos da Text propriedade são renderizados para o navegador solicitante.

Quando o Literal controlo é renderizado para uma linguagem de marcação diferente de HTML ou XHTML, como WML ou cHTML, pode usar o Transform valor para remover elementos de marcação não suportados. Neste caso, quaisquer elementos da linguagem de marcação da Text propriedade que não sejam suportados na linguagem de marcação alvo não são renderizados para o controlo. Por exemplo, se a Text propriedade de um Literal controlo contém uma <hr> etiqueta, a etiqueta é removida antes do conteúdo ser enviado para um dispositivo WML. Se uma etiqueta não suportada contiver conteúdo, apenas a etiqueta é removida e o conteúdo é enviado para o dispositivo ou navegador. Por exemplo, se a Text propriedade contiver o conteúdo <XYZ>Test</XYZ>, as <XYZ> etiquetas e </XYZ> são removidas, e o texto "Test" é enviado para o dispositivo ou navegador.

Aplica-se a

Ver também