LiteralControl クラス

HTML 要素、テキスト、およびサーバーでの処理を必要としない ASP.NET ページのその他の文字列を表します。

この型のすべてのメンバの一覧については、LiteralControl メンバ を参照してください。

System.Object
   System.Web.UI.Control
      System.Web.UI.LiteralControl

Public Class LiteralControl
   Inherits Control
[C#]
public class LiteralControl : Control
[C++]
public __gc class LiteralControl : public Control
[JScript]
public class LiteralControl extends Control

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

ASP.NET は、すべての HTML 要素およびサーバー側の処理を必要とせずに読み取ることができるテキストを、このクラスのインスタンスにコンパイルします。たとえば、 runat="server" の属性と値のペアを開始タグに含んでいない HTML 要素は、 LiteralControl オブジェクトにコンパイルされます。

リテラル コントロールは、テキスト ホルダとして動作します。つまり、リテラル コントロールからテキストを抽出し、親サーバー コントロールの ControlCollection から親の Controls プロパティを通じてリテラル コントロールを削除できます。したがって、 LiteralControl クラスから派生したカスタム コントロールを開発する場合は、コントロールが LiteralControl.Render メソッドの呼び出しを使用してプリプロセス手順を行うのではなく、コントロール自体が必要なプリプロセス手順を実行するようにします。一般的に、このようにすると、Web アプリケーションの応答時間を短縮できます。

ControlCollection.Add メソッドまたは ControlCollection.Remove メソッドを使用すると、ページ コントロールまたはサーバー コントロールからリテラル コントロールをプログラムによって追加または削除できます。

使用例

Control.CreateChildControls メソッドをオーバーライドするときに、オーバーロードされた LiteralControl コンストラクタを使用する方法を次の例に示します。このコードでは、2 つの新しい LiteralControl オブジェクトと TextBox Web サーバー コントロールを現在のサーバー コントロールの Control.Controls プロパティに追加します。

 
' Add two LiteralControls that render HTML H3 elements and text.
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub CreateChildControls()

    Me.Controls.Add(New LiteralControl("<h3>Value: "))

    Dim Box As New TextBox
    Box.Text = "0"
    Me.Controls.Add(box)

    Me.Controls.Add(New LiteralControl("</h3>"))
End Sub

[C#] 
// Add two LiteralControls that render HTML H3 elements and text.
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
protected override void CreateChildControls() {

    this.Controls.Add(new LiteralControl("<h3>Value: "));

    TextBox box = new TextBox();
    box.Text = "0";
    this.Controls.Add(box);

    this.Controls.Add(new LiteralControl("</h3>"));
}

[C++] 
// Add two LiteralControls that render HTML H3 elements and text.
protected:
[System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")] 
void CreateChildControls() 
{
   this->Controls->Add(new LiteralControl(S"<h3>Value: "));

   TextBox* box = new TextBox();
   box->Text = S"0";
   this->Controls->Add(box);

   this->Controls->Add(new LiteralControl(S"</h3>"));
}

[JScript] 

必要条件

名前空間: System.Web.UI

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Web (System.Web.dll 内)

参照

LiteralControl メンバ | System.Web.UI 名前空間 | Control