Control.TrackViewState Control.TrackViewState Control.TrackViewState Control.TrackViewState Method

定義

サーバー コントロールにビューステートの変更を追跡させ、サーバー コントロールの StateBag オブジェクトに変更を格納できるようにします。Causes tracking of view-state changes to the server control so they can be stored in the server control's StateBag object. このオブジェクトは、ViewState プロパティによってアクセスできます。This object is accessible through the ViewState property.

protected:
 virtual void TrackViewState();
protected virtual void TrackViewState ();
abstract member TrackViewState : unit -> unit
override this.TrackViewState : unit -> unit
Protected Overridable Sub TrackViewState ()

次の例ではDataBind 、カスタム ASP.NET サーバーコントロールのメソッドをオーバーライドします。The following example overrides the DataBind method in a custom ASP.NET server control. まず、基本OnDataBindingメソッドを呼び出してから、 Clearメソッドを使用してすべてClearChildViewStateの子コントロールを削除し、メソッドを使用して、これらの子コントロールの保存されているビューステートの設定を削除します。It begins by calling the base OnDataBinding method and then uses the Clear method to delete all the child controls and the ClearChildViewState method to delete any saved view-state settings for those child controls. 最後に、 ChildControlsCreatedプロパティがにtrue設定されます。Finally, the ChildControlsCreated property is set to true. コントロールは、プロパティをIsTrackingViewState使用して、コントロールに対してビューステート変更の追跡が有効になっているかどうかを判断します。The control then uses the IsTrackingViewState property to determine whether view-state change tracking is enabled for the control. 有効になっTrackViewStateていない場合は、メソッドが呼び出されます。If it is not enabled, the TrackViewState method is called.

public override void DataBind() 
{
   base.OnDataBinding(EventArgs.Empty);
   // Reset the control's state.
   Controls.Clear();
   // Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
   if (HasChildViewState)
      ClearChildViewState();
   ChildControlsCreated = true;
   if (!IsTrackingViewState)
      TrackViewState();
}
Public Overrides Sub DataBind()
   MyBase.OnDataBinding(EventArgs.Empty)
   ' Reset the control's state.
   Controls.Clear()
   ' Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
   If HasChildViewState Then
      ClearChildViewState()
   End If
   ChildControlsCreated = True
   If Not IsTrackingViewState Then
      TrackViewState()
   End If
End Sub

注釈

このメソッドは、サーバーコントロールのライフサイクルでInitイベントの最後に自動的に呼び出されます。This method is called automatically at the end of the Init event in the server control's lifecycle.

このメソッドは、テンプレート化されたデータバインドコントロールを開発するときに呼び出します。Invoke this method when you develop templated data-bound controls. このメソッドは、ASP.NET に警告してControl.DataBind 、サーバーコントロールのビューステートの変更を監視します。これは、メソッドをオーバーライドするときに必要です。This method alerts ASP.NET to monitor changes to a server control's view state, which is required when you override the Control.DataBind method.

適用対象

こちらもご覧ください