Literal.Mode 属性

定义

获取或设置一个枚举值,该值指定如何呈现 Literal 控件中的内容。

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

属性值

LiteralMode

LiteralMode 枚举值之一。 默认值为 Transform

例外

指定的类型不是 LiteralMode 枚举值之一。

示例

下面的代码示例演示如何设置 Literal 控件 Mode 的属性。 该 Mode 属性最初设置为 Encode 在控件的声明性语法中。 加载页面后,用户可以单击一个按钮将 Mode 属性 PassThrough设置为 。 这会导致属性的内容 Text 以不同的方式呈现。

备注

以下示例使用单文件代码模型,如果直接复制到代码隐藏文件中,可能无法正常工作。 此代码示例必须复制到扩展名为 .aspx 的空文本文件中。 有关Web Forms代码模型的详细信息,请参阅 ASP.NET 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>

注解

使用 Mode 属性指定应如何呈现控件的内容 Literal 。 此属性是使用枚举值之一设置的 LiteralMode 。 下表列出了可能的值。

说明
PassThrough 不会修改控件的内容。
Encode 控件的内容将转换为 HTML 编码的字符串。
Transform 不受支持的标记语言元素将从控件的内容中删除。 Literal如果控件在支持 HTML 或 XHTML 的浏览器中呈现,则不会修改控件的内容。

如果指定 PassThrough,则属性的全部内容 Text 将传递到设备或浏览器,而无需进行任何修改。 例如,如果 Text 控件的属性 Literal 包含标记 <hr> ,则会将其发送到所有设备和浏览器,无论它是否受支持。

如果指定 Encode,则属性的内容 Text 将在呈现之前转换为 HTML 编码的字符串。 例如,如果 Text 控件的属性 Literal 包含标记 <hr> ,则会将其转换为 &lt;Hr&gt; 设备或浏览器并将其发送到设备或浏览器。

如果指定 Transform,属性的 Text 呈现行为取决于要呈现的标记的类型。 Literal为支持 HTML 或 XHTML 的设备或浏览器呈现控件时,指定Transform将生成与指定PassThrough相同的行为。 为请求浏览器呈现属性的所有标记和元素 Text

Literal为 HTML 或 XHTML 以外的标记语言(如 WML 或 cHTML)呈现控件时,可以使用Transform该值删除不受支持的标记元素。 在这种情况下,不会为控件呈现目标标记语言中不支持的属性的任何标记语言元素 Text 。 例如,如果 Text 控件的属性 Literal 包含标记 <hr> ,则会在内容发送到 WML 设备之前删除该标记。 如果不支持的标记包含内容,则仅删除标记,并将内容发送到设备或浏览器。 例如,如果 Text 属性包含内容 <XYZ>Test</XYZ>,则会 <XYZ> 删除和 </XYZ> 标记,并将文本“Test”发送到设备或浏览器。

适用于

另请参阅