Export (0) Print
Expand All

Control.DataBind Method

Binds a data source to the invoked server control and all its child controls.

[Visual Basic]
Public Overridable Sub DataBind()
[C#]
public virtual void DataBind();
[C++]
public: virtual void DataBind();
[JScript]
public function DataBind();

Remarks

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.

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 Developing a Templated Data-Bound Control.

For more information about data binding to server controls, see Data Binding Expression Syntax.

Example

[Visual Basic, C#, C++] 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.

[Visual Basic] 
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

[C#] 
public override void DataBind() 
{
   base.OnDataBinding(EventArgs.Empty);
   // Reset the control's state.
   Controls.Clear();
   // Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
   if (HasChildViewState)
      ClearChildViewState();
   ChildControlsCreated = true;
   if (!IsTrackingViewState)
      TrackViewState();
}

[C++] 
public:
      void DataBind() 
      {
         Control::OnDataBinding(EventArgs::Empty);
         // Reset the control's state.
         Controls->Clear();
         // Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
         if (HasChildViewState)
            ClearChildViewState();
         ChildControlsCreated = true;
         if (!IsTrackingViewState)
            TrackViewState();
      }

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

See Also

Control Class | Control Members | System.Web.UI Namespace | OnDataBinding | DataBinding | Accessing Data with ASP.NET | Developing ASP.NET Server Controls

Show:
© 2014 Microsoft