BaseDataBoundControl.RequiresDataBinding プロパティ

定義

DataBind() メソッドを呼び出す必要があるかどうか示す値を取得または設定します。Gets or sets a value indicating whether the DataBind() method should be called.

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なります。それ以外の場合、値はになります。The returned value is true if the data-bound control's DataBind() method should be called before the control is rendered; otherwise, the value is false.

次のコード例は、派生RequiresDataBindingデータバインドコントロールクラスによってプロパティがどのように使用されるかを示しています。The following code example demonstrates how the RequiresDataBinding property is used by a derived data-bound control class. メソッドにGetDataよってデータが取得され、 PerformDataBindingメソッドを使用してコントロールにRequiresDataBindingバインドされるとfalse 、プロパティMarkAsDataBoundはに設定され、メソッドが呼び出され、コントロールのバインドが完了したことが通知されます。現在のページのライフサイクル中に、このプロパティが必要です。After data is retrieved by the GetData method and bound to the control with the PerformDataBinding method, the RequiresDataBinding property is set to false and the MarkAsDataBound method is called to signal that the control has completed binding and no longer requires this property during the current page's lifecycle. このコード例は、 DataBoundControlクラスに対して提供される大規模な例の一部です。This code example is part of a larger example provided for the DataBoundControl class.

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

注釈

データバインドコントロールがRequiresDataBinding既にtrueページへの出力の表示を開始しているときに、プロパティをに設定した場合、現在の HTTP 要求はコールバックではDataSourceIDなく、プロパティを使用してデータソースコントロールを識別します。にバインドするとDataBind 、メソッドが直ちに呼び出されます。If you set the RequiresDataBinding property to true when the data-bound control has already begun to render its output to the page, the current HTTP request is not a callback, and you are using the DataSourceID property to identify the data source control to bind to, the DataBind method is called immediately. この場合、 RequiresDataBindingプロパティは実際にはにtrue設定されません。In this case, the RequiresDataBinding property is not actually set to true.

適用対象

こちらもご覧ください