ControlCollection.Clear 方法

定义

从当前服务器控件的 ControlCollection 对象中移除所有控件。

public:
 virtual void Clear();
public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()

示例

下面的代码示例演示如何重写 Control.CreateChildControls 该方法,并使用 Clear 该方法删除以前在 ControlCollection 对象中的所有子控件。 在这种情况下,必须执行此操作,这样控件 ControlCollection 中的过时对象就不会不恰当地显示。

// Override to create repeated items.
protected override void CreateChildControls() {
    object o = ViewState["NumItems"];
    if (o != null) {
       // Clear any existing child controls.
       Controls.Clear();

       int numItems = (int)o;
       for (int i=0; i < numItems; i++) {
          // Create an item.
          RepeaterItem item = new RepeaterItem(i, null);
          // Initialize the item from the template.
          ItemTemplate.InstantiateIn(item);
          // Add the item to the ControlCollection.
          Controls.Add(item);
       }
    }
}
' Override to create repeated items.
Protected Overrides Sub CreateChildControls()
    Dim O As Object = ViewState("NumItems")
    If Not (O Is Nothing)
       ' Clear any existing child controls.
       Controls.Clear()

       Dim I As Integer
       Dim NumItems As Integer = CInt(O)
       For I = 0 To NumItems - 1
          ' Create an item.
          Dim Item As RepeaterItemVB = New RepeaterItemVB(I, Nothing)
          ' Initialize the item from the template.
          ItemTemplate.InstantiateIn(Item)
          ' Add the item to the ControlCollection.
          Controls.Add(Item)
       Next
    End If
End Sub

注解

在重写和DataBind方法时,使用此方法清空Control.CreateChildControls自定义控件ControlCollection。 在开发复合控件、模板化控件或模板化数据绑定控件时执行此操作。

适用于

另请参阅