Control.Adapter プロパティ
アセンブリ: System.Web (system.web.dll 内)

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

ASP.NET Web ページは、Web から情報を要求できる広範なデバイスおよびブラウザで使用できます。Adapter プロパティは、要求側のデバイスまたはブラウザの画面にコントロールを表示する ControlAdapter オブジェクトを返します。

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ControlAdapter クラス
アセンブリ: System.Web (system.web.dll 内)


コントロール アダプタは、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) であるため、コードで、アダプタのメソッドを呼び出す前にその状況を確認する必要があります。

System.Web.UI.Adapters.ControlAdapter
System.Web.UI.Adapters.PageAdapter
System.Web.UI.WebControls.Adapters.WebControlAdapter


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ControlAdapter クラス
アセンブリ: System.Web.Mobile (system.web.mobile.dll 内)


ControlAdapter クラスは、コントロール アダプタが継承できる一般的な基本クラスを提供します。このクラスは、すべてのアダプタに必要な IControlAdapter インターフェイスの既定の実装を提供します。基本クラスはレンダリングを既定で実装しており、すべての子コントロールをレンダリングします。このため、この基本クラスを複合コントロール用のアダプタとして使用できます。


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


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ControlAdapter コンストラクタ
アセンブリ: System.Web (system.web.dll 内)



Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ControlAdapter コンストラクタ
アセンブリ: System.Web.Mobile (system.web.mobile.dll 内)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ControlAdapter フィールド

名前 | 説明 | |
---|---|---|
![]() | BackLabel | Back ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | CallLabel | Call ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | GoLabel | Go ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | LinkLabel | Link ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | MoreLabel | More ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | NextLabel | Next ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | OKLabel | OK ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | OptionsLabel | Options ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | PreviousLabel | Previous ラベルを表すラベル識別子を返します。このフィールドは定数です。 |

ControlAdapter プロパティ

名前 | 説明 | |
---|---|---|
![]() | Browser | 現在の HTTP 要求の作成元であるクライアントのブラウザ機能への参照を取得します。 |
![]() | Control | このコントロール アダプタの割り当て先コントロールへの参照を取得します。 |
![]() | Page | このアダプタに関連付けられたコントロールが配置されているページへの参照を取得します。 |
![]() | PageAdapter | 関連付けられたコントロールが配置されているページのページ アダプタへの参照を取得します。 |

ControlAdapter プロパティ

名前 | 説明 | |
---|---|---|
![]() | Control | 関連するコントロールへの厳密に型指定された参照を返します。 |
![]() | Device | 要求に関連付けられているデバイス機能オブジェクトを返します。 |
![]() | ItemWeight | コントロール内の 1 つの項目のおおよそのウェイトにアクセスします。 |
![]() | Page | デバイス アダプタに関連付けられたページを返します。 |
![]() | Style | デバイス アダプタがアタッチされるコントロールに関連付けられたスタイル オブジェクトを返します。 |
![]() | VisibleWeight | コントロールのおおよそのウェイトを文字数で取得または設定します。 |

ControlAdapter メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |


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 から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | CalculateOptimumPageWeight | デバイスの最適なページ ウェイトを決定します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | GetDefaultLabel | ラベル コントロールのローカライズされた既定の文字列を返します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | RenderChildren | コントロールの子をレンダリングします。 |

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


名前 | 説明 | |
---|---|---|
![]() | Browser | 現在の HTTP 要求の作成元であるクライアントのブラウザ機能への参照を取得します。 |
![]() | Control | このコントロール アダプタの割り当て先コントロールへの参照を取得します。 |
![]() | Page | このアダプタに関連付けられたコントロールが配置されているページへの参照を取得します。 |
![]() | PageAdapter | 関連付けられたコントロールが配置されているページのページ アダプタへの参照を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |


ControlAdapter メンバ
ControlAdapter クラス自体は抽象クラスで、インスタンスを生成できません。
ControlAdapter データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | BackLabel | Back ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | CallLabel | Call ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | GoLabel | Go ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | LinkLabel | Link ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | MoreLabel | More ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | NextLabel | Next ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | OKLabel | OK ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | OptionsLabel | Options ラベルを表すラベル識別子を返します。このフィールドは定数です。 |
![]() | PreviousLabel | Previous ラベルを表すラベル識別子を返します。このフィールドは定数です。 |

名前 | 説明 | |
---|---|---|
![]() | Control | 関連するコントロールへの厳密に型指定された参照を返します。 |
![]() | Device | 要求に関連付けられているデバイス機能オブジェクトを返します。 |
![]() | ItemWeight | コントロール内の 1 つの項目のおおよそのウェイトにアクセスします。 |
![]() | Page | デバイス アダプタに関連付けられたページを返します。 |
![]() | Style | デバイス アダプタがアタッチされるコントロールに関連付けられたスタイル オブジェクトを返します。 |
![]() | VisibleWeight | コントロールのおおよそのウェイトを文字数で取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | 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 から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | CalculateOptimumPageWeight | デバイスの最適なページ ウェイトを決定します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | GetDefaultLabel | ラベル コントロールのローカライズされた既定の文字列を返します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | RenderChildren | コントロールの子をレンダリングします。 |

- ControlAdapterのページへのリンク