共用方式為


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 的空文字檔中。 欲了解更多關於網頁表單程式碼模型的資訊,請參見 ASP.NET 網頁表單頁面程式碼模型

<%@ 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 會直接傳送到裝置或瀏覽器,且不做任何修改。 例如,如果控制Literal項的Text屬性包含<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」文字傳送至裝置或瀏覽器。

適用於

另請參閱