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 枚举值之一。 默认值为 Transform

例外

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

示例

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

注意

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

<%@ 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”发送到设备或浏览器。

适用于

另请参阅