Control クラス

定義

すべての ASP.NET サーバー コントロールで共有されるプロパティ、メソッド、およびイベントを定義します。

public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IParserAccessor
public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IControlBuilderAccessor, System::Web::UI::IControlDesignerAccessor, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IExpressionsAccessor, System::Web::UI::IParserAccessor, System::Web::UI::IUrlResolutionService
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IParserAccessor
[System.ComponentModel.Bindable(true)]
[System.Web.UI.Themeable(false)]
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IControlBuilderAccessor, System.Web.UI.IControlDesignerAccessor, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IExpressionsAccessor, System.Web.UI.IParserAccessor, System.Web.UI.IUrlResolutionService
type Control = class
    interface IComponent
    interface IDisposable
    interface IParserAccessor
    interface IDataBindingsAccessor
[<System.ComponentModel.Bindable(true)>]
[<System.Web.UI.Themeable(false)>]
type Control = class
    interface IComponent
    interface IDisposable
    interface IParserAccessor
    interface IUrlResolutionService
    interface IDataBindingsAccessor
    interface IControlBuilderAccessor
    interface IControlDesignerAccessor
    interface IExpressionsAccessor
Public Class Control
Implements IComponent, IDataBindingsAccessor, IDisposable, IParserAccessor
Public Class Control
Implements IComponent, IControlBuilderAccessor, IControlDesignerAccessor, IDataBindingsAccessor, IDisposable, IExpressionsAccessor, IParserAccessor, IUrlResolutionService
継承
Control
派生
属性
実装

次の例では、 Control クラスから派生するカスタム サーバー コントロールを示します。 InnerContent クラスは、Control.Render メソッドをオーバーライドし、クラスにページ上に子コントロールがあるかどうかを確認し、コントロールの最初の子がリテラル コントロールであるかどうかを判断します。 これらの両方の条件が満たされた場合、オーバーライドされたメソッドは HTML 文字列 <H2>メッセージ:、リテラル コントロールの内容、および終了 </H2> タグを Web フォーム ページに書き込みます。

Important

この例には、潜在的なセキュリティ上の脅威であるユーザー入力を受け入れるテキスト ボックスがあります。 既定では、ASP.NET Web ページでは、ユーザー入力にスクリプトや HTML 要素が含まれていないことが検証されます。 詳細については、「スクリプトの 悪用の概要」を参照してください。

using System;
using System.Web;
using System.Web.UI;

namespace SimpleControlSamples {

    public class InnerContent : Control {
    [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="Execution")]
       protected override void Render(HtmlTextWriter output) {

           if ( (HasControls()) && (Controls[0] is LiteralControl) ) {
               output.Write("<H2>Your message : ");
               Controls[0].RenderControl(output);
               output.Write("</H2>");
           }
       }
    }
}

Option Explicit
Option Strict

Imports System.Web
Imports System.Web.UI

Namespace SimpleControlSamples
    Public Class InnerContent
        Inherits Control
        <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="Execution")> _
        Protected Overrides Sub Render(output As HtmlTextWriter)
            
            If HasControls() And TypeOf Controls(0) Is LiteralControl Then
                output.Write("<H2>Your message : ")
                Controls(0).RenderControl(output)
                output.Write("</H2>")
            End If
        End Sub
    End Class
End Namespace 'SimpleControlSamples

注釈

これは、カスタム ASP.NET サーバー コントロールを開発するときに派生するプライマリ クラスです。 Control には、ユーザー インターフェイス (UI) 固有の機能はありません。 UI を持たないコントロールを作成する場合、または独自の UI をレンダリングする他のコントロールを組み合わせる場合は、 Controlから派生します。 UI を持つコントロールを作成する場合は、 WebControl またはカスタム コントロールの適切な開始点を提供する System.Web.UI.WebControls 名前空間内のコントロールから派生します。

Control クラスは、カスタム コントロール、ユーザー コントロール、ページなど、すべての ASP.NET サーバー コントロールの基本クラスです。 ASP.NET ページは、Page クラスのインスタンスであり、Control クラスから継承され、.aspx拡張子を持つファイルの要求を処理します。

Control クラスは、Web アプリケーションのユーザー インターフェイスの一部として直接または間接的に使用できます。そのため、セキュリティで保護されたコードを記述し、アプリケーションをセキュリティで保護するためのベスト プラクティスに従っていることを確認する必要があります。

これらのトピックの一般的な情報については、「Web アプリケーションのセキュリティの脅威、セキュリティ ポリシーのベスト プラクティス、および主要なセキュリティの概念の概要」を参照してください。 詳細については、「標準コントロールのセキュリティ保護」、「方法: 安全なエラー メッセージを表示する方法」、HTML エンコードを文字列に適用して Web アプリケーションのスクリプトの悪用から保護する方法、検証コントロールの概要を参照してください。

コンストラクター

名前 説明
Control()

Control クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
Adapter

コントロールのブラウザー固有のアダプターを取得します。

AppRelativeTemplateSourceDirectory

このコントロールを含む Page または UserControl オブジェクトのアプリケーション相対仮想ディレクトリを取得または設定します。

BindingContainer

このコントロールのデータ バインディングを含むコントロールを取得します。

ChildControlsCreated

サーバー コントロールの子コントロールが作成されているかどうかを示す値を取得します。

ClientID

ASP.NET によって生成される HTML マークアップのコントロール ID を取得します。

ClientIDMode

ClientID プロパティの値を生成するために使用するアルゴリズムを取得または設定します。

ClientIDSeparator

ClientID プロパティで使用される区切り文字を表す文字値を取得します。

Context

現在の Web 要求のサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。

Controls

UI 階層内の指定したサーバー コントロールの子コントロールを表す ControlCollection オブジェクトを取得します。

DataItemContainer

名前付けコンテナーが IDataItemContainerを実装する場合は、名前付けコンテナーへの参照を取得します。

DataKeysContainer

名前付けコンテナーが IDataKeysControlを実装する場合は、名前付けコンテナーへの参照を取得します。

DesignMode

コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。

EnableTheming

テーマがこのコントロールに適用されるかどうかを示す値を取得または設定します。

EnableViewState

サーバー コントロールがそのビューステートを保持するかどうか、およびそれに含まれる子コントロールのビューステートを要求側クライアントに保持するかどうかを示す値を取得または設定します。

Events

コントロールのイベント ハンドラー デリゲートの一覧を取得します。 このプロパティは読み取り専用です。

HasChildViewState

現在のサーバー コントロールの子コントロールに保存されたビューステート設定があるかどうかを示す値を取得します。

ID

サーバー コントロールに割り当てられたプログラム識別子を取得または設定します。

IdSeparator

コントロール識別子を分離するために使用する文字を取得します。

IsChildControlStateCleared

このコントロール内に含まれるコントロールがコントロールの状態を持っているかどうかを示す値を取得します。

IsTrackingViewState

サーバー コントロールがビュー ステートへの変更を保存するかどうかを示す値を取得します。

IsViewStateEnabled

このコントロールに対してビューステートが有効かどうかを示す値を取得します。

LoadViewStateByID

インデックスの代わりに ID して、コントロールがビューステートの読み込みに関与するかどうかを示す値を取得します。

NamingContainer

同じ ID プロパティ値を持つサーバー コントロール間で区別するための一意の名前空間を作成する、サーバー コントロールの名前付けコンテナーへの参照を取得します。

Page

サーバー コントロールを含む Page インスタンスへの参照を取得します。

Parent

ページ コントロール階層内のサーバー コントロールの親コントロールへの参照を取得します。

RenderingCompatibility

レンダリングされた HTML と互換性のある ASP.NET バージョンを指定する値を取得します。

Site

デザイン サーフェイスにレンダリングされるときに、現在のコントロールをホストするコンテナーに関する情報を取得します。

SkinID

コントロールに適用するスキンを取得または設定します。

TemplateControl

このコントロールを含むテンプレートへの参照を取得または設定します。

TemplateSourceDirectory

現在のサーバー コントロールを含む Page または UserControl の仮想ディレクトリを取得します。

UniqueID

サーバー コントロールの階層的に修飾された一意の識別子を取得します。

ValidateRequestMode

コントロールがブラウザーからのクライアント入力で潜在的に危険な値をチェックするかどうかを示す値を取得または設定します。

ViewState

同じページに対する複数の要求にわたってサーバー コントロールのビューステートを保存および復元できる状態情報のディクショナリを取得します。

ViewStateIgnoresCase

StateBag オブジェクトで大文字と小文字が区別されないかどうかを示す値を取得します。

ViewStateMode

このコントロールのビューステート モードを取得または設定します。

Visible

サーバー コントロールがページ上の UI としてレンダリングされるかどうかを示す値を取得または設定します。

メソッド

名前 説明
AddedControl(Control, Int32)

子コントロールがControls オブジェクトのControl コレクションに追加された後に呼び出されます。

AddParsedSubObject(Object)

XML または HTML のいずれかの要素が解析されたことをサーバー コントロールに通知し、その要素をサーバー コントロールの ControlCollection オブジェクトに追加します。

ApplyStyleSheetSkin(Page)

ページ スタイル シートで定義されているスタイル プロパティをコントロールに適用します。

BeginRenderTracing(TextWriter, Object)

レンダリング データのデザイン時トレースを開始します。

BuildProfileTree(String, Boolean)

サーバー コントロールに関する情報を収集し、ページのトレースが有効になっているときに表示される Trace プロパティに渡します。

ClearCachedClientID()

キャッシュされた ClientID 値を nullに設定します。

ClearChildControlState()

サーバー コントロールの子コントロールのコントロール状態情報を削除します。

ClearChildState()

すべてのサーバー コントロールの子コントロールのビューステート情報とコントロール状態情報を削除します。

ClearChildViewState()

すべてのサーバー コントロールの子コントロールのビューステート情報を削除します。

ClearEffectiveClientIDMode()

現在のコントロール インスタンスと子コントロールの ClientIDMode プロパティを Inheritに設定します。

CreateChildControls()

ASP.NET ページ フレームワークによって呼び出され、コンポジション ベースの実装を使用して、ポスト バックまたはレンダリングの準備として含まれる子コントロールを作成するサーバー コントロールに通知します。

CreateControlCollection()

サーバー コントロールの子コントロール (リテラルとサーバーの両方) を保持する新しい ControlCollection オブジェクトを作成します。

DataBind()

呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。

DataBind(Boolean)

DataBinding イベントを発生させるオプションを使用して、呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。

DataBindChildren()

データ ソースをサーバー コントロールの子コントロールにバインドします。

Dispose()

サーバー コントロールがメモリから解放される前に、最終的なクリーンアップを実行できるようにします。

EndRenderTracing(TextWriter, Object)

レンダリング データのデザイン時トレースを終了します。

EnsureChildControls()

サーバー コントロールに子コントロールが含まれているかどうかを判断します。 そうでない場合は、子コントロールが作成されます。

EnsureID()

識別子が割り当てられないコントロールの識別子を作成します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FindControl(String, Int32)

id パラメーターで指定された、指定したpathOffsetと整数を持つサーバー コントロールの現在の名前付けコンテナーを検索します。これは、検索に役立ちます。 このバージョンの FindControl メソッドはオーバーライドしないでください。

FindControl(String)

指定した id パラメーターを使用して、サーバー コントロールの現在の名前付けコンテナーを検索します。

Focus()

入力フォーカスをコントロールに設定します。

GetDesignModeState()

コントロールのデザイン時データを取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetRouteUrl(Object)

ルート パラメーターのセットに対応する URL を取得します。

GetRouteUrl(RouteValueDictionary)

ルート パラメーターのセットに対応する URL を取得します。

GetRouteUrl(String, Object)

ルート パラメーターとルート名のセットに対応する URL を取得します。

GetRouteUrl(String, RouteValueDictionary)

ルート パラメーターとルート名のセットに対応する URL を取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetUniqueIDRelativeTo(Control)

指定したコントロールの UniqueID プロパティのプレフィックス部分を返します。

HasControls()

サーバー コントロールに子コントロールが含まれているかどうかを判断します。

HasEvents()

コントロールまたは子コントロールのイベントが登録されているかどうかを示す値を返します。

IsLiteralContent()

サーバー コントロールがリテラル コンテンツのみを保持するかどうかを決定します。

LoadControlState(Object)

SaveControlState() メソッドによって保存された前のページ要求から制御状態情報を復元します。

LoadViewState(Object)

SaveViewState() メソッドによって保存された前のページ要求からビューステート情報を復元します。

MapPathSecure(String)

仮想パス (絶対パスまたは相対パス) がマップされる物理パスを取得します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
OnBubbleEvent(Object, EventArgs)

サーバー コントロールのイベントがページの UI サーバー コントロール階層に渡されるかどうかを判断します。

OnDataBinding(EventArgs)

DataBinding イベントを発生させます。

OnInit(EventArgs)

Init イベントを発生させます。

OnLoad(EventArgs)

Load イベントを発生させます。

OnPreRender(EventArgs)

PreRender イベントを発生させます。

OnUnload(EventArgs)

Unload イベントを発生させます。

OpenFile(String)

ファイルの読み取りに使用する Stream を取得します。

RaiseBubbleEvent(Object, EventArgs)

イベントのソースとその情報をコントロールの親に割り当てます。

RemovedControl(Control)

Controls オブジェクトのControl コレクションから子コントロールが削除された後に呼び出されます。

Render(HtmlTextWriter)

指定した HtmlTextWriter オブジェクトにサーバー コントロールのコンテンツを送信します。このオブジェクトは、クライアントにレンダリングされるコンテンツを書き込みます。

RenderChildren(HtmlTextWriter)

指定した HtmlTextWriter オブジェクトにサーバー コントロールの子のコンテンツを出力します。このオブジェクトは、クライアントにレンダリングされるコンテンツを書き込みます。

RenderControl(HtmlTextWriter, ControlAdapter)

指定されたHtmlTextWriter オブジェクトを使用して、指定されたControlAdapter オブジェクトにサーバー コントロールのコンテンツを出力します。

RenderControl(HtmlTextWriter)

指定された HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力し、トレースが有効になっている場合は、コントロールに関するトレース情報を格納します。

ResolveAdapter()

指定したコントロールのレンダリングを担当するコントロール アダプターを取得します。

ResolveClientUrl(String)

ブラウザーで使用できる URL を取得します。

ResolveUrl(String)

URL を、要求側クライアントで使用できる URL に変換します。

SaveControlState()

ページがサーバーにポストバックされた時刻以降に発生したすべてのサーバー 制御状態の変更を保存します。

SaveViewState()

ページがサーバーにポストバックされてから発生したサーバー コントロールのビューステートの変更を保存します。

SetDesignModeState(IDictionary)

コントロールのデザイン時データを設定します。

SetRenderMethodDelegate(RenderMethod)

サーバー コントロールとそのコンテンツを親コントロールにレンダリングするイベント ハンドラー デリゲートを割り当てます。

SetTraceData(Object, Object, Object)

トレース オブジェクト、トレース データ キー、およびトレース データ値を使用して、レンダリング データのデザイン時トレース用のトレース データを設定します。

SetTraceData(Object, Object)

トレース データ キーとトレース データ値を使用して、レンダリング データのデザイン時トレース用のトレース データを設定します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TrackViewState()

ビューステートの変更をサーバー コントロールに追跡して、サーバー コントロールの StateBag オブジェクトに格納できるようにします。 このオブジェクトには、 ViewState プロパティを使用してアクセスできます。

イベント

名前 説明
DataBinding

サーバー コントロールがデータ ソースにバインドされるときに発生します。

Disposed

サーバー コントロールがメモリから解放されたときに発生します。これは、ASP.NET ページが要求されたときに、サーバー コントロールライフサイクルの最後のステージです。

Init

サーバー コントロールが初期化されるときに発生します。これは、そのライフサイクルの最初のステップです。

Load

サーバー コントロールが Page オブジェクトに読み込まれるときに発生します。

PreRender

Control オブジェクトが読み込まれた後、レンダリングの前に発生します。

Unload

サーバー コントロールがメモリからアンロードされるときに発生します。

明示的なインターフェイスの実装

名前 説明
IControlBuilderAccessor.ControlBuilder

このメンバーの説明については、 ControlBuilderを参照してください。

IControlDesignerAccessor.GetDesignModeState()

このメンバーの説明については、 GetDesignModeState()を参照してください。

IControlDesignerAccessor.SetDesignModeState(IDictionary)

このメンバーの説明については、 SetDesignModeState(IDictionary)を参照してください。

IControlDesignerAccessor.SetOwnerControl(Control)

このメンバーの説明については、 SetOwnerControl(Control)を参照してください。

IControlDesignerAccessor.UserData

このメンバーの説明については、 UserDataを参照してください。

IDataBindingsAccessor.DataBindings

このメンバーの説明については、 DataBindingsを参照してください。

IDataBindingsAccessor.HasDataBindings

このメンバーの説明については、 HasDataBindingsを参照してください。

IExpressionsAccessor.Expressions

このメンバーの説明については、 Expressionsを参照してください。

IExpressionsAccessor.HasExpressions

このメンバーの説明については、 HasExpressionsを参照してください。

IParserAccessor.AddParsedSubObject(Object)

このメンバーの説明については、 AddParsedSubObject(Object)を参照してください。

拡張メソッド

名前 説明
FindDataSourceControl(Control)

指定したコントロールのデータ コントロールに関連付けられているデータ ソースを返します。

FindFieldTemplate(Control, String)

指定したコントロールの名前付けコンテナー内の指定した列のフィールド テンプレートを返します。

FindMetaTable(Control)

格納されているデータ コントロールのメタテーブル オブジェクトを返します。

適用対象

こちらもご覧ください