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

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 オブジェクト対応付けます。

アダプタは、特定のブラウザまたはブラウザクラスについてコントロール変更したり、一部機能に対して任意のフィルタとして機能したりします通常アダプタは、ブラウザ使用するマークアップ言語 (たとえば、XHTMLHTML 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 メソッド (直後) がコントロールによって呼び出されます。表示前および表示後の処理がブラウザ固有の理にのみ必要な場合は、BeginRenderEndRender使用すると、Renderオーバーライドする必要がなくなる可能性ありますBeginRender メソッドEndRender メソッド既定動作は、それぞれに対応する HtmlTextWriterメソッド呼び出すことです。

独自の情報維持する場合は、コントロール アダプタで SaveAdapterControlState, LoadAdapterControlState、SaveAdapterViewState、および LoadAdapterViewState の各メソッド呼び出すことができますSaveAdapterControlState, SaveAdapterViewStateLoadAdapterControlState、および 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) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ControlAdapter クラス」の関連用語

ControlAdapter クラスのお隣キーワード
検索ランキング

   

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



ControlAdapter クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS