次の方法で共有


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列挙値の 1 つ。 既定値は、Transform です。

例外

指定した型は、 LiteralMode 列挙値の 1 つではありません。

次のコード例では、 Literal コントロールの Mode プロパティを設定する方法を示します。 Mode プロパティは、最初はコントロールの宣言構文でEncodeに設定されます。 ページが読み込まれた後、ユーザーはボタンをクリックして、 Mode プロパティを PassThroughに設定できます。 これにより、 Text プロパティの内容が異なる方法でレンダリングされます。

次の例では、単一ファイル コード モデルを使用します。分離コード ファイルに直接コピーした場合、正しく動作しない可能性があります。 このコード例は、.aspx拡張子が付いている空のテキスト ファイルにコピーする必要があります。 Web フォーム コード モデルの詳細については、「Web フォーム ページ コード モデル 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 エンコード文字列に変換されます。 たとえば、Literal コントロールのText プロパティに<hr> タグが含まれている場合、&lt;Hr&gt;に変換され、デバイスまたはブラウザーに送信されます。

Transformを指定した場合、Text プロパティのレンダリング動作は、レンダリングされるマークアップの種類によって異なります。 HTML または XHTML をサポートするデバイスまたはブラウザーに対して Literal コントロールをレンダリングする場合、 Transform を指定すると、 PassThroughを指定する場合と同じ動作が生成されます。 Text プロパティのすべてのマークアップ タグと要素は、要求するブラウザーに対してレンダリングされます。

WML や cHTML などの HTML または XHTML 以外のマークアップ言語に対して Literal コントロールをレンダリングする場合は、 Transform 値を使用して、サポートされていないマークアップ要素を削除できます。 この場合、対象のマークアップ言語でサポートされていない Text プロパティのマークアップ言語要素は、コントロールに対してレンダリングされません。 たとえば、Literal コントロールのText プロパティに <hr> タグが含まれている場合、コンテンツが WML デバイスに送信される前にタグが削除されます。 サポートされていないタグにコンテンツが含まれている場合、タグのみが削除され、コンテンツがデバイスまたはブラウザーに送信されます。 たとえば、 Text プロパティにコンテンツ <XYZ>Test</XYZ>が含まれている場合、 <XYZ> タグと </XYZ> タグが削除され、"Test" というテキストがデバイスまたはブラウザーに送信されます。

適用対象

こちらもご覧ください