次の方法で共有


Control.IsTrackingViewState プロパティ

定義

サーバー コントロールがビューステートの変更を保存しているかどうかを示す値を取得します。

protected:
 property bool IsTrackingViewState { bool get(); };
protected bool IsTrackingViewState { get; }
member this.IsTrackingViewState : bool
Protected ReadOnly Property IsTrackingViewState As Boolean

プロパティ値

コントロールがその状態を保存するようにマークされている場合は true。それ以外の場合は false

次の例では、 DataBind カスタム ASP.NET サーバー コントロールの メソッドをオーバーライドします。 最初に基本 OnDataBinding メソッドを呼び出し、 オブジェクトを ControlCollection 使用します。 ControlCollection.Clear メソッドを使用してすべての子コントロールを削除し、 ClearChildViewState それらの子コントロールの保存されたビューステート設定を削除するメソッド。 最後に、 プロパティが ChildControlsCreatedtrue設定されます。 次に、 プロパティを IsTrackingViewState 使用して、コントロールに対してビューステート変更の追跡が有効になっているかどうかを判断します。 有効になっていない場合は、 メソッドが TrackViewState 呼び出されます。

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

注釈

このプロパティを使用するカスタム サーバー コントロールの例については、「 テンプレート 化されたサーバー コントロールの例」を参照してください。

適用対象

こちらもご覧ください