次の方法で共有


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オーバーライドするときにカスタム コントロールControlCollectionを空にするには、このメソッドをControl.CreateChildControls使用します。 これは、複合コントロール、テンプレート 化されたコントロール、またはテンプレート化されたデータ バインド コントロールを開発するときに行います。

適用対象

こちらもご覧ください