ControlAdapterとは? わかりやすく解説

Control.Adapter プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

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

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Dim value As ControlAdapter

value = Me.Adapter
protected ControlAdapter Adapter { get; }
protected:
property ControlAdapter^ Adapter {
    ControlAdapter^ get ();
}
/** @property */
protected ControlAdapter get_Adapter ()

プロパティ値
このコントロールの ControlAdapter。対象のブラウザでアダプタが不要な場合は null 参照 (Visual Basic では Nothing) が返されます。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ControlAdapter クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

既定のマークアップ、または特定のブラウザに対する動作を変更するために、アダプタの割り当て先の派生コントロールの表示をカスタマイズします。すべてのコントロール アダプタの継承元となる基本クラスです。

名前空間: System.Web.UI.Adapters
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public MustInherit Class
 ControlAdapter
Dim instance As ControlAdapter
public abstract class ControlAdapter
public ref class ControlAdapter abstract
public abstract class ControlAdapter
public abstract class ControlAdapter
解説解説

コントロール アダプタは、Control クラスの特定のメソッドやイベントをその実行有効期間中にオーバーライドして、ブラウザまたはマークアップ固有の処理ができるようにするコンポーネントです。.NET Framework は、クライアント要求ごとに、1 つの派生コントロール アダプタを Control オブジェクトに対応付けます。

アダプタは、特定のブラウザまたはブラウザのクラスについてコントロールを変更したり、一部の機能に対しては任意のフィルタとして機能したりします。通常、アダプタは、ブラウザが使用するマークアップ言語 (たとえば、XHTML や HTML 3.2) によって定義されます。表示動作の適応性の多くは、HtmlTextWriter クラスから派生した特定のクラスにカプセル化できます。したがって、単一のアダプタをブラウザ クラスの複数の動作に使用することができ、また、HtmlTextWriter クラスに順応性を持たせることによってコントロール アダプタを使用する必要がなくなるとも言えます。

コントロール クラスのアダプタは、専用のアダプタが存在しない限り、そのクラスから継承するすべてのコントロールに適用されます。たとえば、BaseValidator クラスのアダプタは、すべての Validator オブジェクトに使用できます。

通常、アダプタは、直接 ControlAdapter クラスから継承せず、コントロールの型や対象ブラウザ、または必要とされる特定の表示に特化した追加機能を提供する、ターゲット固有のアダプタ基本クラスのいずれかから継承します。

コントロール自体は、必ずしもアダプタを必要としません。コントロールがコンポジションによって拡張されている場合、通常は、子コントロールのアダプタで十分です。

各コントロールは、.browser 定義ファイルで明示的にアダプタに対応付けられます。そのため、アダプタとコントロールの対応付けに必要なルックアップを実行する場合、Control.Adapter プロパティに対するすべてのアクセスには、.browser 定義ファイルから抽出された HttpBrowserCapabilities オブジェクトが使用されます。

処理中に、.NET Framework が、ターゲット固有のコントロールのオーバーライド可能なメソッドの呼び出しを受け取ります。コントロール アダプタが割り当てられている場合、.NET Framework は、関連付けられているアダプタ メソッドを呼び出します。

アダプタは、Render メソッドを通じて、コントロールの表示を実行します。オーバーライドされた場合、Render は、Control.Render メソッドでコールバックを実行するため、基本クラスの実装を呼び出さない可能性があります。そのため、1 回はアダプタによって、もう 1 回はコントロールによって、表示処理が 2 回発生する可能性があります。

Render 基本メソッドは、コントロールの Control.Render メソッドをコールバックします。そのため、Render をオーバーライドする場合は、実装する表示が Control.Render によって提供されている表示機能に対する追加でない限り、基本クラスの実装を呼び出さないようにする必要があります。

.NET Framework が、確実に子コントロールのアダプタの傍受を実行するようにする必要があります。これは、RenderChildren 基本メソッドを呼び出すことによってできます。この基本メソッドは、Render オーバーライドから、コントロールの Control.RenderChildren メソッドを呼び出します。

コントロールが Render メソッドを呼び出す直前および直後に、BeginRender メソッド (直前) および EndRender メソッド (直後) がコントロールによって呼び出されます。表示前および表示後の処理がブラウザ固有の処理にのみ必要な場合は、BeginRender と EndRender を使用すると、Render をオーバーライドする必要がなくなる可能性があります。BeginRender メソッドと EndRender メソッドの既定の動作は、それぞれに対応する HtmlTextWriter のメソッドを呼び出すことです。

独自の情報を維持する場合は、コントロール アダプタで SaveAdapterControlState, LoadAdapterControlState、SaveAdapterViewState、および LoadAdapterViewState の各メソッドを呼び出すことができます。SaveAdapterControlState, SaveAdapterViewState、LoadAdapterControlState、および LoadAdapterViewState は、プライベート コントロールやビューステートの保存および読み込み時に呼び出されます。

OnInit、OnLoad、OnPreRender、および OnUnload の各基本メソッドは、それぞれに対応する Control クラスのメソッドをコールバックします。そのため、オーバーライドされたこれらの ControlAdapter メソッドは、それぞれの基本メソッドを呼び出す必要があります。そうしないと、Control クラスのメソッドに関連付けられたイベントが発生しません。

コントロールおよびアダプタは、必要に応じて IPostBackDataHandler インターフェイスおよび IPostBackEventHandler インターフェイスを実装します。.NET Framework は、アダプタが存在するかどうか、およびそのアダプタがこれらのインターフェイスを実装しているかどうかを確認します。アダプタが存在し、これらのインターフェイスを実装している場合、アダプタは、必要に応じて LoadPostData、RaisePostDataChangedEvent、および RaisePostBackEvent の各メソッドをオーバーライドする必要があります。ポストバック データがアダプタで認識されない場合は、コントロールでコールバックしてポストバック データを処理する必要があります。後続のイベント ハンドラも、そのコントロールでコールバックする必要があります。

継承時の注意 ControlAdapter クラスから継承する場合、一般的なアダプタ機能を必要とするコントロールには、ControlTypeAdapter というパターンの名前の、対応するアダプタ基本クラスが必要です (たとえば、TextBoxAdapter など)。このアダプタは、少なくとも、Control プロパティを通じて、コントロールの厳密に型指定されたインスタンスを返す必要があります。 コントロール アダプタは、適切な基本クラスから継承し、コントロールと同じ継承モデルに従う必要があります。たとえば、Control 基本クラスから継承するコントロールのアダプタは、ControlAdapter クラス、または関連する ControlTypeAdapter クラスのいずれかから継承する必要があります。 .browser 構成ファイルのすべてのデバイス ノード下の専用コントロールに、専用のアダプタを定義する必要があります。 正しく実装されたコントロールでは、アダプタが割り当てられていると見なさない、つまり割り当てられているアダプタが特定のインターフェイスを実装していると見なさないようにする必要があります。代わりに、呼び出しの前にこれらをチェックするようにしてください。 コントロールで、LinkButton の OnClick メソッドなどのプロテクト イベント メソッドのオーバーライドをシミュレートできます。最初に、OnClick メソッドを使用してアダプタ クラスを作成します。次に、LinkButton から派生した新しいコントロールを作成し、OnClick メソッドをオーバーライドします。オーバーライドされた OnClick メソッドは、アダプタの OnClick メソッドを呼び出します。アダプタ オブジェクトは、Control クラスのプロテクト Adapter プロパティを通じて使用できます。関連付けられているアダプタがない場合、コントロールの Adapter プロパティは null 参照 (Visual Basic では Nothing) であるため、コードで、アダプタのメソッドを呼び出す前にその状況を確認する必要があります。

.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.Adapters.ControlAdapter
     System.Web.UI.Adapters.PageAdapter
     System.Web.UI.WebControls.Adapters.WebControlAdapter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ControlAdapter メンバ
System.Web.UI.Adapters 名前空間
Control クラス

ControlAdapter クラス

ControlAdapter クラス自体は抽象クラスで、インスタンスを生成できません。

名前空間: System.Web.UI.MobileControls.Adapters
アセンブリ: System.Web.Mobile (system.web.mobile.dll 内)
構文構文

Public MustInherit Class
 ControlAdapter
    Implements IControlAdapter
Dim instance As ControlAdapter
public abstract class ControlAdapter : IControlAdapter
public ref class ControlAdapter abstract :
 IControlAdapter
public abstract class ControlAdapter implements
 IControlAdapter
public abstract class ControlAdapter implements
 IControlAdapter
解説解説
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.MobileControls.Adapters.ControlAdapter
     System.Web.UI.MobileControls.Adapters.HtmlControlAdapter
     System.Web.UI.MobileControls.Adapters.WmlControlAdapter
     System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlControlAdapter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ControlAdapter コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

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

名前空間: System.Web.UI.Adapters
アセンブリ: System.Web (system.web.dll 内)
構文構文

Dim instance As New ControlAdapter
protected ControlAdapter ()
protected:
ControlAdapter ()
protected ControlAdapter ()
protected function ControlAdapter ()
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ControlAdapter クラス
ControlAdapter メンバ
System.Web.UI.Adapters 名前空間
Control クラス

ControlAdapter コンストラクタ


ControlAdapter フィールド


プロテクト フィールドプロテクト フィールド

  名前 説明
プロテクト フィールド BackLabel Back ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド CallLabel Call ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド GoLabel Go ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド LinkLabel Link ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド MoreLabel More ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド NextLabel Next ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド OKLabel OK ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド OptionsLabel Options ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド PreviousLabel Previous ラベルを表すラベル識別子を返します。このフィールドは定数です。
参照参照

ControlAdapter プロパティ


ControlAdapter プロパティ


ControlAdapter メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド BeginRender コントロールの表示前に呼び出されます。派生アダプタ クラスで、HTML ブラウザには必要ではなくても特定のターゲットには必要な開始タグを生成します。
プロテクト メソッド CreateChildControls 複合コントロールのターゲット固有の子コントロールを作成します。
プロテクト メソッド EndRender コントロールの表示後に呼び出されます。派生アダプタ クラスで、HTML ブラウザには必要ではなくても特定のターゲットには必要な終了タグを生成します。
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。)
プロテクト メソッド LoadAdapterControlState このコントロール アダプタに関連付けられたコントロールが配置されているページに対する以前の要求時に SaveAdapterControlState によって保存された、アダプタのコントロール状態情報を読み込みます。
プロテクト メソッド LoadAdapterViewState このコントロール アダプタに関連付けられたコントロールが配置されているページに対する以前の要求時に SaveAdapterViewState によって保存された、アダプタのビューステートを読み込みます。
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 ( Object から継承されます。)
プロテクト メソッド OnInit 関連付けられたコントロールの OnInit メソッドをオーバーライドします。
プロテクト メソッド OnLoad 関連付けられたコントロールの OnLoad メソッドをオーバーライドします。
プロテクト メソッド OnPreRender 関連付けられたコントロールの OnPreRender メソッドをオーバーライドします。
プロテクト メソッド OnUnload 関連付けられたコントロールの OnUnload メソッドをオーバーライドします。
プロテクト メソッド Render コントロール アダプタの割り当て先であるコントロールのターゲット固有のマークアップを生成します。
プロテクト メソッド RenderChildren コントロール アダプタの割り当て先である複合コントロールに含まれる子コントロールのターゲット固有のマークアップを生成します。
プロテクト メソッド SaveAdapterControlState コントロール アダプタのコントロール状態情報を保存します。
プロテクト メソッド SaveAdapterViewState コントロール アダプタのビューステート情報を保存します。
参照参照

関連項目

ControlAdapter クラス
System.Web.UI.Adapters 名前空間
Control クラス

ControlAdapter メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreateTemplatedUI テンプレート UI を作成するためにコントロールによって呼び出されます。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド HandlePostBackEvent イベントが処理されたときに true を返します。
パブリック メソッド LoadAdapterState ビューステートを読み込みます。
パブリック メソッド LoadPostData アダプタがポスト データの読み込みを処理する場合に true を返します。
パブリック メソッド OnInit フォームまたはページなどのオブジェクトが初期化された後で呼び出されます。
パブリック メソッド OnLoad コントロール、ページ、またはデバイス アダプタに関するデータを読み込みます。
パブリック メソッド OnPreRender レンダリングの前にアダプタ固有の処理を実行するために、コントロールの OnPreRender メソッドによって呼び出されます。
パブリック メソッド OnUnload コントロール、ページ、またはデバイス アダプタに関するデータをアンロードします。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド Render レンダリングを実行するためにコントロールの Render メソッドによって呼び出されます。
パブリック メソッド SaveAdapterState このメソッドは、コントロールがプライベート ビューステートを保存するときに呼び出されます。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

ControlAdapter メンバ

既定のマークアップ、または特定のブラウザに対する動作を変更するために、アダプタの割り当て先の派生コントロールの表示をカスタマイズします。すべてのコントロール アダプタの継承元となる基本クラスです。

ControlAdapter データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド ControlAdapter ControlAdapter クラスの新しいインスタンスを初期化します。
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド BeginRender コントロールの表示前に呼び出されます。派生アダプタ クラスで、HTML ブラウザには必要ではなくても特定のターゲットには必要な開始タグを生成します。
プロテクト メソッド CreateChildControls 複合コントロールのターゲット固有の子コントロールを作成します。
プロテクト メソッド EndRender コントロールの表示後に呼び出されます。派生アダプタ クラスで、HTML ブラウザには必要ではなくても特定のターゲットには必要な終了タグを生成します。
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
プロテクト メソッド LoadAdapterControlState このコントロール アダプタに関連付けられたコントロールが配置されているページに対する以前の要求時に SaveAdapterControlState によって保存された、アダプタのコントロール状態情報を読み込みます。
プロテクト メソッド LoadAdapterViewState このコントロール アダプタに関連付けられたコントロールが配置されているページに対する以前の要求時に SaveAdapterViewState によって保存された、アダプタのビューステートを読み込みます。
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド OnInit 関連付けられたコントロールの OnInit メソッドをオーバーライドします。
プロテクト メソッド OnLoad 関連付けられたコントロールの OnLoad メソッドをオーバーライドします。
プロテクト メソッド OnPreRender 関連付けられたコントロールの OnPreRender メソッドをオーバーライドします。
プロテクト メソッド OnUnload 関連付けられたコントロールの OnUnload メソッドをオーバーライドします。
プロテクト メソッド Render コントロール アダプタの割り当て先であるコントロールのターゲット固有のマークアップを生成します。
プロテクト メソッド RenderChildren コントロール アダプタの割り当て先である複合コントロールに含まれる子コントロールのターゲット固有のマークアップを生成します。
プロテクト メソッド SaveAdapterControlState コントロール アダプタのコントロール状態情報を保存します。
プロテクト メソッド SaveAdapterViewState コントロール アダプタのビューステート情報を保存します。
参照参照

関連項目

ControlAdapter クラス
System.Web.UI.Adapters 名前空間
Control クラス

ControlAdapter メンバ

ControlAdapter クラス自体は抽象クラスで、インスタンスを生成できません。

ControlAdapter データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド ControlAdapter クラスの新しいインスタンスを作成します。
プロテクト フィールドプロテクト フィールド
  名前 説明
プロテクト フィールド BackLabel Back ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド CallLabel Call ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド GoLabel Go ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド LinkLabel Link ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド MoreLabel More ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド NextLabel Next ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド OKLabel OK ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド OptionsLabel Options ラベルを表すラベル識別子を返します。このフィールドは定数です。
プロテクト フィールド PreviousLabel Previous ラベルを表すラベル識別子を返します。このフィールドは定数です。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreateTemplatedUI テンプレート UI を作成するためにコントロールによって呼び出されます。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド HandlePostBackEvent イベントが処理されたときに true を返します。
パブリック メソッド LoadAdapterState ビューステートを読み込みます。
パブリック メソッド LoadPostData アダプタがポスト データの読み込みを処理する場合に true を返します。
パブリック メソッド OnInit フォームまたはページなどのオブジェクトが初期化された後で呼び出されます。
パブリック メソッド OnLoad コントロール、ページ、またはデバイス アダプタに関するデータを読み込みます。
パブリック メソッド OnPreRender レンダリングの前にアダプタ固有の処理を実行するために、コントロールの OnPreRender メソッドによって呼び出されます。
パブリック メソッド OnUnload コントロール、ページ、またはデバイス アダプタに関するデータをアンロードします。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド Render レンダリングを実行するためにコントロールの Render メソッドによって呼び出されます。
パブリック メソッド SaveAdapterState このメソッドは、コントロールがプライベート ビューステートを保存するときに呼び出されます。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ControlAdapter」の関連用語

ControlAdapterのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



ControlAdapterのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS