次の方法で共有


BaseDataBoundControl.OnDataBound(EventArgs) メソッド

定義

DataBound イベントを発生させます。

protected:
 virtual void OnDataBound(EventArgs ^ e);
protected virtual void OnDataBound (EventArgs e);
abstract member OnDataBound : EventArgs -> unit
override this.OnDataBound : EventArgs -> unit
Protected Overridable Sub OnDataBound (e As EventArgs)

パラメーター

e
EventArgs

イベント データを格納している EventArgs オブジェクト。

次のコード例では、 メソッドを OnDataBound 使用して、派生データ バインド コントロール クラスによってイベントを発生させる DataBound 方法を示します。 および PerformDataBinding メソッドをGetData使用してデータをコントロールにバインドした後、データ バインド コントロールはイベントをDataBound発生させ、データ バインディングが完了したことを通知します。 このコード例は、DataBoundControl クラスのために提供されている大規模な例の一部です。

protected override void PerformSelect() {            

   // Call OnDataBinding here if bound to a data source using the
   // DataSource property (instead of a DataSourceID), because the
   // databinding statement is evaluated before the call to GetData.       
    if (!IsBoundUsingDataSourceID) {
        OnDataBinding(EventArgs.Empty);
    }            
    
    // The GetData method retrieves the DataSourceView object from  
    // the IDataSource associated with the data-bound control.            
    GetData().Select(CreateDataSourceSelectArguments(), 
        OnDataSourceViewSelectCallback);
    
    // The PerformDataBinding method has completed.
    RequiresDataBinding = false;
    MarkAsDataBound();
    
    // Raise the DataBound event.
    OnDataBound(EventArgs.Empty);
}
Protected Overrides Sub PerformSelect()

    ' Call OnDataBinding here if bound to a data source using the 
    ' DataSource property (instead of a DataSourceID) because the 
    ' data-binding statement is evaluated before the call to GetData.
    If Not IsBoundUsingDataSourceID Then
        OnDataBinding(EventArgs.Empty)
    End If

    ' The GetData method retrieves the DataSourceView object from the 
    ' IDataSource associated with the data-bound control.            
    GetData().Select(CreateDataSourceSelectArguments(), _
        AddressOf OnDataSourceViewSelectCallback)

    ' The PerformDataBinding method has completed.
    RequiresDataBinding = False
    MarkAsDataBound()

    ' Raise the DataBound event.
        OnDataBound(EventArgs.Empty)

End Sub

注釈

このメソッドは、コントロールに関連付けられているデータ バインディング ロジックが完了したことをサーバー コントロールに通知します。

重要

メソッドは DataBind 、 から BaseDataBoundControl派生したすべてのコントロールに対してシールされます。 データバインド コントロールは、 メソッドではなく DataBind をオーバーライドPerformDataBindingしてデータをバインドする必要があります。 がオーバーライドされた場合 DataBindOnDataBinding イベントと OnDataBound イベントは順に発生します。

イベントを発生させると、イベント ハンドラーがデリゲートから呼び出されます。 詳細については、処理とイベントの発生 を参照してください。

OnDataBound メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。 派生クラスでイベントを処理する場合は、この手法をお勧めします。

注意 (継承者)

派生クラスでオーバーライドする OnDataBound(EventArgs) 場合は、登録されているデリゲートがイベントを受け取るように、必ず基底クラスの OnDataBound(EventArgs) メソッドを呼び出してください。

適用対象

こちらもご覧ください