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 列挙値ではありません。

次のコード例は、コントロールModeの プロパティを設定する方法をLiteral示しています。 プロパティは Mode 、最初は コントロールの宣言構文で に Encode 設定されます。 ページが読み込まれた後、ユーザーはボタンをクリックして プロパティを ModePassThrough設定できます。 これにより、 プロパティの内容が 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 内容全体が、変更を加えずにデバイスまたはブラウザーに渡されます。 たとえば、コントロールの Literal プロパティにTextタグが含まれている<hr>場合、サポートされているかどうかに関係なく、すべてのデバイスとブラウザーに送信されます。

を指定 Encodeした場合、プロパティの Text 内容は、レンダリングの前に HTML エンコード文字列に変換されます。 たとえば、コントロールの プロパティにTextタグが含まれている<hr>場合は、 に&lt;Hr&gt;変換され、デバイスまたはブラウザーに送信Literalされます。

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

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

適用対象

こちらもご覧ください