Control.ClearChildState メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サーバー コントロールのすべての子コントロールのビューステート情報およびコントロールの状態情報を削除します。
protected:
void ClearChildState();
protected void ClearChildState ();
member this.ClearChildState : unit -> unit
Protected Sub ClearChildState ()
例
次のコード例では、テンプレート化されたデータ バインド コントロールの OnDataBinding メソッドをオーバーライドする方法を示します。 コントロールがバインドするデータ ソースが設定されている場合は、 メソッドを使用してコントロールのControlCollectionコレクションが空になりClearChildState、 メソッドを使用してClear子コントロール用に保存されていた状態情報が削除されます。
// 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
注釈
メソッドは ClearChildState 、子コントロールのすべてのビューステートおよびコントロールステート情報をクリアします。 これは、 メソッドと メソッドの両方を ClearChildViewState 呼び出すことと ClearChildControlState 同じです。
オブジェクトの Control 子コントロールを再作成する場合は、 メソッドを ClearChildState 使用して子状態をクリアし、新しいコントロールに誤って適用されないようにします。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET