Aracılığıyla paylaş


Control.ClearChildState Yöntem

Tanım

Tüm sunucu denetiminin alt denetimleri için görünüm durumu ve denetim durumu bilgilerini siler.

protected:
 void ClearChildState();
protected void ClearChildState ();
member this.ClearChildState : unit -> unit
Protected Sub ClearChildState ()

Örnekler

Aşağıdaki kod örneği, şablonlu bir veriye bağlı denetim için yönteminin nasıl geçersiz kılınduğunu OnDataBinding gösterir. Denetimin bağlandığı veri kaynağı doldurulursa, denetimin ControlCollection koleksiyonu yöntemi kullanılarak Clear boşaltılır ve ClearChildState yöntem, alt denetimler için kaydedilmiş olan durum bilgilerini kaldırmak için kullanılır.

// 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

Açıklamalar

yöntemi, ClearChildState alt denetimler için tüm görünüm durumu ve denetim durumu bilgilerini temizler. Hem yöntemini hem de ClearChildViewState yöntemini çağırmaya eşdeğerdir ClearChildControlState .

Bir Control nesnenin alt denetimlerini yeniden oluştururken, yeni denetimlere yanlışlıkla uygulanmaması için alt durumu temizlemek için yöntemini kullanın ClearChildState .

Şunlara uygulanır

Ayrıca bkz.