Elimina le informazioni sullo stato di visualizzazione e sullo stato del controllo per tutti i controlli figlio del controllo server.
Assembly: System.Web (in System.Web.dll)
Protected Sub ClearChildState
protected void ClearChildState()
protected: void ClearChildState()
member ClearChildState : unit -> unit
Il metodo ClearChildState cancella tutte le informazioni sullo stato di visualizzazione e sullo stato del controllo per i controlli figlio. Equivale a chiamare i metodi ClearChildViewState e ClearChildControlState.
Quando si ricreano controlli figlio di un oggetto Control, utilizzare il metodo ClearChildState per cancellare lo stato del controllo figlio, in modo che non venga applicato ai nuovi controlli inavvertitamente.
Nell'esempio di codice riportato di seguito viene descritto come eseguire l'override del metodo OnDataBinding per un controllo basato su modelli e con associazione a dati. Se l'origine dati a cui è associato il controllo è popolata, l'insieme ControlCollection del controllo viene svuotato tramite il metodo Clear e si utilizza il metodo ClearChildState per rimuovere eventuali informazioni sullo stato salvate per i controlli figlio.
' 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
// 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; } }
.NET Framework
Supportato in: 4, 3.5, 3.0, 2.0Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.