Freigeben über


Control.OnDataBinding-Methode

Löst das DataBinding-Ereignis aus.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Protected Overridable Sub OnDataBinding ( _
    e As EventArgs _
)
'Usage
Dim e As EventArgs

Me.OnDataBinding(e)
protected virtual void OnDataBinding (
    EventArgs e
)
protected:
virtual void OnDataBinding (
    EventArgs^ e
)
protected void OnDataBinding (
    EventArgs e
)
protected function OnDataBinding (
    e : EventArgs
)

Parameter

  • e
    Ein EventArgs-Objekt, das die Ereignisdaten enthält.

Hinweise

Diese Methode weist ein Serversteuerelement an, jede ihm zugeordnete Datenbindungslogik auszuführen.

Wenn Sie das DataBinding-Ereignis behandeln möchten, überschreiben Sie diese Ereignisbehandlungsmethode. Damit wird sichergestellt, dass alle an das DataBinding-Ereignis angefügten Delegaten aufgerufen werden.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie die OnDataBinding-Methode überschrieben wird, um dem übergeordneten Steuerelement untergeordnete Steuerelemente aus einer Datenquelle hinzuzufügen.

' 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
// 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 void OnDataBinding(EventArgs e)
{
    super.OnDataBinding(e);

    if (get_DataSource() != null) {
        // Clear any existing child controls.
        get_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 = get_DataSource().GetEnumerator();
        int i = 0;
        while (dataEnum.MoveNext()) {
            // Create an item.
            RepeaterItem item = new RepeaterItem(i, dataEnum.get_Current());
            // Initialize the item from the template.
            get_ItemTemplate().InstantiateIn(item);
            // Add the item to the ControlCollection.
            get_Controls().Add(item);
            i++;
        }
        // Prevent child controls from being created again.
        set_ChildControlsCreated(true);
        // Store the number of items created in view state for postback
        // scenarios.
        get_ViewState().set_Item("NumItems", (Int32)i);
    }
} //OnDataBinding

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Control-Klasse
Control-Member
System.Web.UI-Namespace
DataBinding
DataBind