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 為 。 載入頁面之後,使用者可以按一下按鈕,將 屬性設定 ModePassThrough 。 這會導致屬性的內容 Text 以不同的方式呈現。

注意

下列範例使用單一檔案程式碼模型,如果直接複製到程式碼後置檔案,可能無法正常運作。 此程式碼範例必須複製到副檔名為 .aspx 的空白文字檔。 如需Web Form程式碼模型的詳細資訊,請參閱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」 傳送至裝置或瀏覽器。

適用於

另請參閱