Control.ClearChildState Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löscht die Informationen zum Ansichtszustand sowie zum Steuerelementzustand für alle untergeordneten Steuerelemente des Serversteuerelements.
protected:
void ClearChildState();
protected void ClearChildState ();
member this.ClearChildState : unit -> unit
Protected Sub ClearChildState ()
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die OnDataBinding -Methode für ein datengebundenes Steuerelement mit Vorlagen außer Kraft gesetzt wird. Wenn die Datenquelle, an die das Steuerelement gebunden ist, aufgefüllt wird, wird die Auflistung des Steuerelements mithilfe der Clear -Methode geleert, und die ClearChildState -Methode wird verwendet, um alle Zustandsinformationen ControlCollection zu entfernen, die für die untergeordneten Steuerelemente gespeichert wurden.
// 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 state for the existing child controls.
ClearChildState();
// 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 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
Hinweise
Die ClearChildState -Methode löscht alle Ansichtszustands- und Steuerelementzustandsinformationen für untergeordnete Steuerelemente. Dies entspricht dem Aufruf sowohl der ClearChildViewState -Methode als auch der ClearChildControlState -Methode.
Wenn Sie untergeordnete Steuerelemente eines Control Objekts neu erstellen, verwenden Sie die -Methode, um den ClearChildState untergeordneten Zustand zu löschen, damit er nicht versehentlich auf die neuen Steuerelemente angewendet wird.