Control.OnDataBinding Method
.NET Framework 3.0
Raises the DataBinding event.
Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)
Assembly: System.Web (in system.web.dll)
'Declaration Protected Overridable Sub OnDataBinding ( _ e As EventArgs _ ) 'Usage Dim e As EventArgs Me.OnDataBinding(e)
protected void OnDataBinding ( EventArgs e )
protected function OnDataBinding ( e : EventArgs )
Not applicable.
Parameters
- e
An EventArgs object that contains the event data.
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 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 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
Community Additions
ADD
Show: