Literal.Mode 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定一個列舉值,指定控制項內容 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 的空文字檔中。 欲了解更多關於網頁表單程式碼模型的資訊,請參見 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> 標籤,該標籤會被轉換並 <Hr> 傳送給裝置或瀏覽器。
如果你指定 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」文字傳送至裝置或瀏覽器。