Control.DataBind Method ()
Assembly: System.Web (in system.web.dll)
Use this method to bind data from a source to a server control. This method is commonly used after retrieving a data set through a database query. The method is primarily used by control developers; most controls perform data binding automatically.
Note: |
|---|
|
When called on a server control, this method resolves all data-binding expressions in the server control and in any of its child controls. |
This method is commonly overridden when creating custom templated data-bound controls. For more information, see How to: Create Templated ASP.NET User Controls.
For more information about binding data to server controls, see Data Binding Expression Syntax.
The following example overrides the DataBind method in a custom ASP.NET server control. It begins by calling the base OnDataBinding method and then uses the ControlCollection.Clear method to delete all the child controls and the ClearChildViewState method to delete any saved view-state settings for those child controls. Finally, the ChildControlsCreated property is set to true and the control is instructed to track any changes to the view state of the newly created controls with the TrackViewState method. This is a common technique when binding data to a control to ensure that new data does not conflict with data stored from a previous DataBind method call.
Public Overrides Sub DataBind() MyBase.OnDataBinding(EventArgs.Empty) ' Reset the control's state. Controls.Clear() ' Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState. If HasChildViewState Then ClearChildViewState() End If ChildControlsCreated = True If Not IsTrackingViewState Then TrackViewState() End If End Sub
public void DataBind()
{
super.OnDataBinding(EventArgs.Empty);
// Reset the control's state.
get_Controls().Clear();
// Check for HasChildViewState to avoid unnecessary calls to
// ClearChildViewState.
if (get_HasChildViewState()) {
ClearChildViewState();
}
set_ChildControlsCreated(true);
if (!(get_IsTrackingViewState())) {
TrackViewState();
}
} //DataBind
Note: