Control.DataBind メソッド

定義

呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。Binds a data source to the invoked server control and all its child controls.

オーバーロード

DataBind()

呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。Binds a data source to the invoked server control and all its child controls.

DataBind(Boolean)

DataBinding イベントを発生させるオプションを指定して、呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。Binds a data source to the invoked server control and all its child controls with an option to raise the DataBinding event.

DataBind()

呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。Binds a data source to the invoked server control and all its child controls.

public:
 virtual void DataBind();
public virtual void DataBind ();
abstract member DataBind : unit -> unit
override this.DataBind : unit -> unit
Public Overridable Sub DataBind ()

次の例では、カスタム ASP.NET サーバーコントロールの DataBind メソッドをオーバーライドします。The following example overrides the DataBind method in a custom ASP.NET server control. まず、基本 OnDataBinding メソッドを呼び出し、次に ControlCollection.Clear メソッドを使用してすべての子コントロールを削除し、ClearChildViewState メソッドを使用して、これらの子コントロールの保存されているビューステートの設定をすべて削除します。It begins by calling the base OnDataBinding method and then uses the ControlCollection.Clear method to delete all the child controls and the ClearChildViewState method to delete any saved view-state settings for those child controls. 最後に、ChildControlsCreated プロパティは true に設定され、コントロールには、TrackViewState メソッドを使用して、新しく作成されたコントロールのビューステートへの変更を追跡するように指示されます。Finally, the ChildControlsCreated property is set to true and the control is instructed to track any changes to the view state of the newly created controls with the TrackViewState method. これは、データをコントロールにバインドして、新しいデータが前の DataBind メソッド呼び出しから格納されたデータと競合しないようにするための一般的な手法です。This is a common technique when binding data to a control to ensure that new data does not conflict with data stored from a previous DataBind method call.

public override void DataBind() 
{
   base.OnDataBinding(EventArgs.Empty);
   // Reset the control's state.
   Controls.Clear();
   // Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
   if (HasChildViewState)
      ClearChildViewState();
   ChildControlsCreated = true;
   if (!IsTrackingViewState)
      TrackViewState();
}
Public Overrides Sub DataBind()
   MyBase.OnDataBinding(EventArgs.Empty)
   ' Reset the control's state.
   Controls.Clear()
   ' Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
   If HasChildViewState Then
      ClearChildViewState()
   End If
   ChildControlsCreated = True
   If Not IsTrackingViewState Then
      TrackViewState()
   End If
End Sub

注釈

このメソッドを使用して、ソースからサーバーコントロールにデータをバインドします。Use this method to bind data from a source to a server control. このメソッドは、通常、データベースクエリを使用してデータセットを取得した後に使用されます。This method is commonly used after retrieving a dataset through a database query. ほとんどのコントロールは、データバインディングを自動的に実行します。これは、通常、このメソッドを明示的に呼び出す必要がないことを意味します。Most controls perform data binding automatically, which means that you typically do not need to call this method explicitly.

このメソッドは、通常、カスタムテンプレートのデータバインドコントロールを作成するときにオーバーライドされます。This method is commonly overridden when you create a custom templated data-bound control. 詳細については、[テンプレート化された ASP.NET ユーザーコントロールを作成し、カスタムデータバインド Web サーバーコントロールを](https://msdn.microsoft.com/library/07664410-02dd-4494-af53-a9259741d4f2) して開発します。For more information, see How to: Create Templated ASP.NET User Controls and Developing Custom Data-Bound Web Server Controls. このメソッドは、サーバーコントロールで呼び出されると、サーバーコントロールおよびそのすべての子コントロール内のすべてのデータバインディング式を解決します。When called on a server control, this method resolves all data-binding expressions in the server control and in any of its child controls.

こちらもご覧ください

DataBind(Boolean)

DataBinding イベントを発生させるオプションを指定して、呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。Binds a data source to the invoked server control and all its child controls with an option to raise the DataBinding event.

protected:
 virtual void DataBind(bool raiseOnDataBinding);
protected virtual void DataBind (bool raiseOnDataBinding);
abstract member DataBind : bool -> unit
override this.DataBind : bool -> unit
Protected Overridable Sub DataBind (raiseOnDataBinding As Boolean)

パラメーター

raiseOnDataBinding
Boolean

DataBinding イベントが発生する場合は true。それ以外の場合は falsetrue if the DataBinding event is raised; otherwise, false.

注釈

カスタムコントロールが DataBind メソッドをオーバーライドし、IDataItemContainer インターフェイスを実装する場合は、シナリオで Control.DataBind(Boolean) メソッドを使用します。Use the Control.DataBind(Boolean) method in a scenario when your custom control overrides the DataBind method and implements the IDataItemContainer interface. このシナリオでは、カスタムコントロールは、raiseOnDataBindingfalse に設定して Control.DataBind(Boolean) メソッドを呼び出し、基本クラスの DataBind メソッドが呼び出されるようにします。In this scenario, the custom control calls the Control.DataBind(Boolean) method with raiseOnDataBinding set to false to ensure that the base class's DataBind method gets called.

Control.DataBind() メソッドは、raiseOnDataBindingtrueに設定して、Control.DataBind(Boolean) メソッドを呼び出します。The Control.DataBind() method invokes the Control.DataBind(Boolean) method with raiseOnDataBinding set to true.

注意

raiseOnDataBindingfalse に設定して Control.DataBind(Boolean) メソッドを呼び出すと、すべての子コントロールが Control.DataBind() メソッドを使用してデータバインドされます。Calling the Control.DataBind(Boolean) method with raiseOnDataBinding set to false causes any child controls to be data bound with the Control.DataBind() method.

こちらもご覧ください

適用対象