Control.OnDataBinding(EventArgs) Control.OnDataBinding(EventArgs) Control.OnDataBinding(EventArgs) Control.OnDataBinding(EventArgs) Method

定義

引發 DataBinding 事件。Raises the DataBinding event.

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

參數

e
EventArgs EventArgs EventArgs EventArgs

包含事件資料的 EventArgs 物件。An EventArgs object that contains the event data.

範例

下列範例示範如何覆寫OnDataBinding方法,以從資料來源加入至父控制項的子控制項。The following example demonstrates how to override the OnDataBinding method to add child controls to the parent control from a data source.

// Override to create the repeated items from the DataSource.
protected override void OnDataBinding(EventArgs e) {
    base.OnDataBinding(e);

    if (DataSource != null) {
        // Clear any existing child controls.
        Controls.Clear();
        // Clear any previous view state for the existing child controls.
        ClearChildViewState();

        // Iterate over the DataSource, creating a new item for each data item.
        IEnumerator dataEnum = DataSource.GetEnumerator();
        int i = 0;
        while(dataEnum.MoveNext()) {

            // Create an item.
            RepeaterItem item = new RepeaterItem(i, dataEnum.Current);
            // Initialize the item from the template.
            ItemTemplate.InstantiateIn(item);
            // Add the item to the ControlCollection.
            Controls.Add(item);

            i++;
        }

        // Prevent child controls from being created again.
        ChildControlsCreated = true;
        // Store the number of items created in view state for postback scenarios.
        ViewState["NumItems"] = i;
    }
}
' Override to create the repeated items from the DataSource.
Protected Overrides Sub OnDataBinding(E As EventArgs)
    MyBase.OnDataBinding(e)

    If Not DataSource Is Nothing
        ' Clear any existing child controls.
        Controls.Clear()
        ' Clear any previous view state for the existing child controls.
        ClearChildViewState()

        ' Iterate over the DataSource, creating a new item for each data item.
        Dim DataEnum As IEnumerator = DataSource.GetEnumerator()
        Dim I As Integer = 0
        Do While (DataEnum.MoveNext())

            ' Create an item.
            Dim Item As RepeaterItemVB = New RepeaterItemVB(I, DataEnum.Current)
            ' Initialize the item from the template.
            ItemTemplate.InstantiateIn(Item)
            ' Add the item to the ControlCollection.
            Controls.Add(Item)

            I = I + 1
        Loop

        ' Prevent child controls from being created again.
        ChildControlsCreated = true
        ' Store the number of items created in view state for postback scenarios.
        ViewState("NumItems") = I
    End If
End Sub

備註

這個方法會通知伺服器控制項,以執行與它相關聯的資料繫結的任何邏輯。This method notifies a server control to perform any logic for binding data that is associated with it.

如果您想要處理DataBinding事件,您應該覆寫這個事件處理方法。If you want to handle the DataBinding event, you should override this event-handling method. 這可確保所有委派都附加至DataBinding叫用事件。This ensures that all delegates attached to the DataBinding event are invoked.

適用於

另請參閱