Control.ClearChildState Method ()
Deletes the view-state and control-state information for all the server control's child controls.
Assembly: System.Web (in System.Web.dll)
When recreating child controls of a Control object, use the method to clear child state so that it does not get applied to the new controls inadvertently.
The following code example demonstrates how to override the OnDataBinding method for a templated data-bound control. If the data source that the control binds to is populated, the control's ControlCollection collection is emptied using the Clear method, and the method is used to remove any state information that had been saved for the child controls.
' 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. ClearChildState() ' 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
Available since 2.0