次の方法で共有


BaseDataBoundControl.RequiresDataBinding プロパティ

定義

DataBind() メソッドを呼び出す必要があるかどうか示す値を取得または設定します。

protected:
 property bool RequiresDataBinding { bool get(); void set(bool value); };
protected bool RequiresDataBinding { get; set; }
member this.RequiresDataBinding : bool with get, set
Protected Property RequiresDataBinding As Boolean

プロパティ値

返される値は、コントロールが true レンダリングされる前にデータ バインド コントロールの DataBind() メソッドを呼び出す必要がある場合です。それ以外の場合、値は です false

次のコード例では、派生データ バインド コントロール クラスによって プロパティがどのように RequiresDataBinding 使用されるかを示します。 メソッドによってGetDataデータが取得され、 メソッドを使用PerformDataBindingしてコントロールにバインドされると、 プロパティが にfalse設定され、 RequiresDataBinding メソッドが呼び出されてMarkAsDataBound、コントロールがバインドを完了し、現在のページのライフサイクル中にこのプロパティが不要になったことを通知します。 このコード例は、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

注釈

データ バインド コントロールが既にページへの出力のレンダリングを開始したときに プロパティを にtrue設定RequiresDataBindingした場合、現在の HTTP 要求はコールバックではなく、 プロパティをDataSourceID使用してバインド先のデータ ソース コントロールを識別している場合、DataBindメソッドはすぐに呼び出されます。 この場合、 RequiresDataBinding プロパティは実際には に true設定されません。

適用対象

こちらもご覧ください