ControlAdapter ControlAdapter ControlAdapter ControlAdapter Class

定義

既定のマークアップ、または特定のブラウザーに対する動作を変更するために、アダプターの割り当て先の派生コントロールの表示をカスタマイズします。すべてのコントロール アダプターの継承元となる基本クラスです。Customizes rendering for the derived control to which the adapter is attached, to modify the default markup or behavior for specific browsers, and is the base class from which all control adapters inherit.

public ref class ControlAdapter abstract
public abstract class ControlAdapter
type ControlAdapter = class
Public MustInherit Class ControlAdapter
継承
ControlAdapterControlAdapterControlAdapterControlAdapter
派生

注釈

コントロール アダプターは、特定のオーバーライド コンポーネントControlメソッドおよびブラウザーまたはマークアップに固有の処理を許可する実行のライフ サイクルのイベントのクラスします。Control adapters are components that override certain Control class methods and events in its execution lifecycle to allow browser or markup-specific handling. .NET Framework がマップに 1 つの派生コントロール アダプターをControlクライアント要求ごとのオブジェクト。The .NET Framework maps a single derived control adapter to a Control object for each client request.

アダプターは、特定のブラウザーまたはブラウザーのクラスのコントロールを変更したりしたりは一部の機能に対しては任意のフィルターとして機能します。An adapter modifies a control for a specific browser or class of browsers or acts as an arbitrary filter on some capability. 通常、アダプターは、(たとえば、XHTML や HTML 3.2)、ブラウザーを使用するマークアップ言語によって定義されます。Typically the adapter is defined by the markup language that the browser uses (for example, XHTML or HTML 3.2). 派生する特殊なクラスにカプセル化できるレンダリング動作に適応性の多く、HtmlTextWriterクラス。Much of the adaptability in rendering behavior can be encapsulated in the specialized classes that derive from the HtmlTextWriter class. したがって、さまざまなブラウザー クラスの動作やその包含で適応性の 1 つのアダプターを使用できること可能性がありますが、HtmlTextWriterクラスを不要なコントロール アダプターの使用して使用する可能性があります。Therefore, it is likely that a single adapter can be used for a number of browser class behaviors or that inclusion of the adaptability in the HtmlTextWriter classes could make the use of a control adapter unnecessary.

コントロール クラスのアダプターは、専用のアダプターが存在しない限り、そのクラスから継承するすべてのコントロールに適用されます。An adapter for a control class applies to all controls that inherit from that class, unless more specialized adapters are present. たとえば、アダプターのBaseValidatorすべてのクラスを使用できますValidatorオブジェクト。For example, an adapter for the BaseValidator class can be used for all Validator objects.

アダプター通常を継承しませんから直接、ControlAdapterクラスがターゲット固有のアダプターのいずれかからの基本コントロールの種類とターゲットのブラウザーに固有の追加機能を提供するクラスまたは特定の表示が必要です。Adapters typically do not inherit directly from the ControlAdapter class, but from one of the target-specific adapter base classes that provide additional functionality specific to the control type and target browser or the particular rendering required.

コントロール自体では、アダプターは必ずしも必要はありません。Controls themselves do not necessarily require an adapter. コンポジションを通じてにコントロールを拡張する場合は通常、子コントロールのアダプターで十分です。If controls are extended through composition, generally the child control adapters are sufficient.

各コントロールには、.browser 定義ファイルからアダプターへの明示的なマッピングがあります。Each control has explicit mappings to adapters through the .browser definition files. そのため、いずれかのアクセス、Control.Adapterプロパティで使用、HttpBrowserCapabilitiesコントロール アダプターのマッピングの参照を実行するブラウザー定義ファイルから抽出されたオブジェクト。Thus, any access to the Control.Adapter property uses the HttpBrowserCapabilities object extracted from the browser definition files to perform the lookup for the mapping of the adapter to control.

処理中に、.NET Framework は、ターゲット固有の可能性があるコントロールのオーバーライド可能なメソッドの呼び出しをインターセプトします。During processing, the .NET Framework intercepts calls to the overridable methods of a control that could be target-specific. コントロール アダプターがアタッチされている場合、.NET Framework は、関連付けられているアダプターのメソッドを呼び出します。If a control adapter is attached, the .NET Framework calls the associated adapter methods.

アダプターを使用してコントロールのレンダリングを実行する、Renderメソッド。The adapter performs rendering for the control through the Render method. 上書きすると、Render可能性のある呼び出さないでください。 基本クラスの実装に戻り、呼び出しを実行するため、Control.Renderメソッド。If overridden, Render potentially should not call the base class implementation because that performs a call back on the Control.Render method. アダプターが 1 回と、コントロールで 1 回、2 回発生するレンダリングがある可能性があります。This might cause the rendering to occur twice, once by the adapter and once by the control.

Renderメソッドの呼び出しを基、Control.Renderコントロールのメソッド。The Render base method calls back on the Control.Render method of the control. したがって、オーバーライドする場合はRenderを実装するレンダリングがによって提供されるそれに加えていない限り、基本クラスの実装を呼び出す必要がありますいないControl.Renderコントロールの。Thus, if you override Render, you should not call the base class implementation unless the rendering you implement is in addition to that provided by Control.Render of the control.

.NET Framework が傍受される子コントロールのアダプターに対して実行することを確認する必要があります。You must ensure that the .NET Framework performs interception for adapters of the child controls. 呼び出すことによってこれを行う、RenderChildren基本メソッドを呼び出す、 Control.RenderChildren 、コントロールのメソッドから、Renderをオーバーライドします。You can do this by calling the RenderChildren base method, which calls the Control.RenderChildren method of the control, from your Render override.

BeginRenderEndRenderメソッドは、コントロールの呼び出し (それぞれ) の前後にすぐに、コントロールによって呼び出される、Renderメソッド。The BeginRender and EndRender methods are called by the control immediately before and after (respectively) the control calls the Render method. 前と後のレンダリングの場合は唯一のブラウザー固有の処理を使用して、必要なタスクBeginRenderEndRenderをオーバーライドする必要がない可能性がありますようにRenderします。If pre- and post-rendering are the only browser-specific processing tasks required, using BeginRender and EndRender might make it unnecessary to override Render. 既定の動作、BeginRenderEndRenderの対応するメソッドを呼び出すためのメソッドは、HtmlTextWriterします。The default behavior of the BeginRender and EndRender methods is to call the corresponding methods of the HtmlTextWriter.

コントロール アダプターには、独自の状態情報を保持するには、オーバーライド、 SaveAdapterControlStateLoadAdapterControlStateSaveAdapterViewState、およびLoadAdapterViewStateメソッド。To maintain its own state information, a control adapter can override the SaveAdapterControlState, LoadAdapterControlState, SaveAdapterViewState, and LoadAdapterViewState methods. SaveAdapterControlStateSaveAdapterViewStateLoadAdapterControlState、およびLoadAdapterViewStateプライベート コントロールとビューの状態が保存され、読み込まれると、それぞれの場合に呼び出されます。SaveAdapterControlState, SaveAdapterViewState, LoadAdapterControlState, and LoadAdapterViewState are called when the private control and view states are saved and loaded, respectively.

OnInitOnLoadOnPreRender、およびOnUnloadbase メソッドの呼び出しを対応するのには、戻りControlクラス メソッド。The OnInit, OnLoad, OnPreRender, and OnUnload base methods call back on the corresponding Control class methods. これらのいずれかにそのため、ControlAdapterがオーバーライドされるメソッドは、基本メソッドを呼び出す必要があります。 それ以外の場合、イベントに関連付けられている、Controlクラスのメソッドは発生しません。Thus, any of these ControlAdapter methods that are overridden must call their base methods; otherwise, the event associated with the Control class method will not be raised.

コントロールとアダプターが必要に応じて実装、IPostBackDataHandlerIPostBackEventHandlerインターフェイス。Controls and adapters optionally implement the IPostBackDataHandler and IPostBackEventHandler interfaces. .NET Framework では、アダプターが存在するかどうかと、アダプターがこれらのインターフェイスを実装するかどうかを決定します。The .NET Framework determines whether an adapter exists and whether the adapter implements these interfaces. 場合は、アダプターをオーバーライドする必要があります、 LoadPostDataRaisePostDataChangedEvent、およびRaisePostBackEventメソッドは、必要に応じて。If it does, the adapter should override the LoadPostData, RaisePostDataChangedEvent, and RaisePostBackEvent methods, as necessary. ポストバック データが、アダプターで認識されない場合は、それを処理するコントロールにコールバックする必要があります。If the postback data is not recognized in the adapter, it must call back on the control to process it. また後続のイベント ハンドラーは、コントロールに戻る呼び出す必要があります。Subsequent event handlers also must call back on the control.

注意 (継承者)

継承する場合、ControlAdapterクラス、一般的なアダプターの機能を必要とするコントロールは基本クラス、パターンのという名前の対応するアダプターが必要ControlType Adapter (たとえば、 TextBoxAdapter)。When you inherit from the ControlAdapter class, a control that requires general adapter functionality should have a corresponding adapter base class, named in the pattern ControlTypeAdapter (for example, TextBoxAdapter). アダプター返す必要がありますには、少なくとも、厳密に型指定されたインスタンスを使用してコントロールのControlプロパティ。The adapter should at a minimum return a strongly-typed instance of the control through its Control property.

1.1. パターンの特定のコントロールの種類とマークアップ言語の名前を付けるためのアダプターを制御MarkupControlType Adapter (たとえば、 XhtmlTextBoxAdapter)。Control adapters for a given control type and markup language should be named in the pattern MarkupControlTypeAdapter (for example, XhtmlTextBoxAdapter). コントロールのアダプターで実装する必要があります、 Adapters subnamespace します。Adapters for a control should be implemented in an Adapters subnamespace.

コントロール アダプターを適切な基本クラスから継承し、コントロールと同じ継承モデルに従います。Control adapters should inherit from the appropriate base class and follow the same inheritance model as the control. 継承するコントロール用のアダプターなど、Control基底クラスは、いずれかから継承する必要があります、ControlAdapterクラスまたは関連するControlTypeAdapterクラス。For example, an adapter for a control inheriting from the Control base class should inherit from either the ControlAdapter class or the relevant ControlTypeAdapter class.

専用のアダプターは、.browser 構成ファイル内のデバイス ノードのすべてで特殊なコントロールに対して定義する必要があります。Any specialized adapters should be defined for the specialized control under all of the device nodes in configuration .browser files.

アダプターが接続されていること、または割り当てられているアダプターが特定のインターフェイスを実装するコントロールを適切に実装されたを想定しないでください。A properly implemented control should not assume that an adapter is attached, or that the attached adapter implements a specific interface. 代わりに、呼び出す前にこれらのことを確認します。Instead, it should check for these before calling.

コントロールでは、保護されているイベントのメソッドをオーバーライドするなどをシミュレートすることができます、OnClick(EventArgs)のメソッド、LinkButtonします。It is possible to simulate overriding protected event methods in the control, such as the OnClick(EventArgs) method of the LinkButton. 最初に、使用するアダプター クラスを作成、 OnClickメソッド。First, create an adapter class with an OnClick method. 派生した新しいコントロールを作成し、LinkButtonをオーバーライドし、OnClick(EventArgs)メソッド。Then create a new control derived from LinkButton and override the OnClick(EventArgs) method. オーバーライドされたOnClick(EventArgs)メソッドの呼び出し、 OnClickアダプターのメソッド。The overridden OnClick(EventArgs) method calls the OnClick method of the adapter. アダプター オブジェクトは、保護された利用Adapterのプロパティ、Controlクラス。The adapter object is available through the protected Adapter property of the Control class. Adapterコントロールのプロパティはnull関連付けられているアダプターがない場合は、ため、コードを確認する条件、アダプターのメソッドを呼び出す前にします。The Adapter property of the control is null when there is no associated adapter, so any code should check for that condition before calling methods of the adapter.

コンストラクター

ControlAdapter() ControlAdapter() ControlAdapter() ControlAdapter()

ControlAdapter クラスの新しいインスタンスを初期化します。Initializes a new instance of the ControlAdapter class.

プロパティ

Browser Browser Browser Browser

現在の HTTP 要求の作成元であるクライアントのブラウザー機能への参照を取得します。Gets a reference to the browser capabilities of the client making the current HTTP request.

Control Control Control Control

このコントロール アダプターの割り当て先コントロールへの参照を取得します。Gets a reference to the control to which this control adapter is attached.

Page Page Page Page

このアダプターに関連付けられたコントロールが配置されているページへの参照を取得します。Gets a reference to the page where the control associated with this adapter resides.

PageAdapter PageAdapter PageAdapter PageAdapter

関連付けられたコントロールが配置されているページのページ アダプターへの参照を取得します。Gets a reference to the page adapter for the page where the associated control resides.

メソッド

BeginRender(HtmlTextWriter) BeginRender(HtmlTextWriter) BeginRender(HtmlTextWriter) BeginRender(HtmlTextWriter)

コントロールの表示前に呼び出されます。Called prior to the rendering of a control. 派生アダプター クラスで、HTML ブラウザーには必要ではなくても特定のターゲットには必要な開始タグを生成します。In a derived adapter class, generates opening tags that are required by a specific target but not needed by HTML browsers.

CreateChildControls() CreateChildControls() CreateChildControls() CreateChildControls()

複合コントロールのターゲット固有の子コントロールを作成します。Creates the target-specific child controls for a composite control.

EndRender(HtmlTextWriter) EndRender(HtmlTextWriter) EndRender(HtmlTextWriter) EndRender(HtmlTextWriter)

コントロールの表示後に呼び出されます。Called after the rendering of a control. 派生アダプター クラスで、HTML ブラウザーには必要ではなくても特定のターゲットには必要な終了タグを生成します。In a derived adapter class, generates closing tags that are required by a specific target but not needed by HTML browsers.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
LoadAdapterControlState(Object) LoadAdapterControlState(Object) LoadAdapterControlState(Object) LoadAdapterControlState(Object)

このコントロール アダプターに関連付けられたコントロールが配置されているページに対する以前の要求時に SaveAdapterControlState() によって保存された、アダプターのコントロール状態情報を読み込みます。Loads adapter control state information that was saved by SaveAdapterControlState() during a previous request to the page where the control associated with this control adapter resides.

LoadAdapterViewState(Object) LoadAdapterViewState(Object) LoadAdapterViewState(Object) LoadAdapterViewState(Object)

このコントロール アダプターに関連付けられたコントロールが配置されているページに対する以前の要求時に SaveAdapterViewState() によって保存された、アダプターのビューステートを読み込みます。Loads adapter view state information that was saved by SaveAdapterViewState() during a previous request to the page where the control associated with this control adapter resides.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnInit(EventArgs) OnInit(EventArgs) OnInit(EventArgs) OnInit(EventArgs)

関連付けられたコントロールの OnInit(EventArgs) メソッドをオーバーライドします。Overrides the OnInit(EventArgs) method for the associated control.

OnLoad(EventArgs) OnLoad(EventArgs) OnLoad(EventArgs) OnLoad(EventArgs)

関連付けられたコントロールの OnLoad(EventArgs) メソッドをオーバーライドします。Overrides the OnLoad(EventArgs) method for the associated control.

OnPreRender(EventArgs) OnPreRender(EventArgs) OnPreRender(EventArgs) OnPreRender(EventArgs)

関連付けられたコントロールの OnPreRender(EventArgs) メソッドをオーバーライドします。Overrides the OnPreRender(EventArgs) method for the associated control.

OnUnload(EventArgs) OnUnload(EventArgs) OnUnload(EventArgs) OnUnload(EventArgs)

関連付けられたコントロールの OnUnload(EventArgs) メソッドをオーバーライドします。Overrides the OnUnload(EventArgs) method for the associated control.

Render(HtmlTextWriter) Render(HtmlTextWriter) Render(HtmlTextWriter) Render(HtmlTextWriter)

コントロール アダプターがアタッチされるコントロール用にターゲット固有のマークアップを生成します。Generates the target-specific markup for the control to which the control adapter is attached.

RenderChildren(HtmlTextWriter) RenderChildren(HtmlTextWriter) RenderChildren(HtmlTextWriter) RenderChildren(HtmlTextWriter)

コントロール アダプターの割り当て先である複合コントロールに含まれる子コントロールのターゲット固有のマークアップを生成します。Generates the target-specific markup for the child controls in a composite control to which the control adapter is attached.

SaveAdapterControlState() SaveAdapterControlState() SaveAdapterControlState() SaveAdapterControlState()

コントロール アダプターのコントロール状態情報を保存します。Saves control state information for the control adapter.

SaveAdapterViewState() SaveAdapterViewState() SaveAdapterViewState() SaveAdapterViewState()

コントロール アダプターのビューステート情報を保存します。Saves view state information for the control adapter.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください