다음을 통해 공유


Control.OnDataBinding(EventArgs) 메서드

정의

DataBinding 이벤트를 발생시킵니다.

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 개체입니다.

예제

다음 예제에서는 재정의 OnDataBinding 하는 방법을 보여 줍니다는 데이터 원본에서 부모 컨트롤에 자식 컨트롤을 추가 하는 방법입니다.

// 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

설명

이 메서드는 서버 컨트롤에 연결된 데이터 바인딩에 대한 논리를 수행하도록 알 수 있습니다.

이벤트를 처리 DataBinding 하려면 이 이벤트 처리 메서드를 재정의해야 합니다. 이렇게 하면 이벤트에 연결된 모든 대리자를 DataBinding 호출합니다.

적용 대상

추가 정보