次の方法で共有


Control.IsTrackingViewState プロパティ

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

Protected ReadOnly Property IsTrackingViewState As Boolean
[C#]
protected bool IsTrackingViewState {get;}
[C++]
protected: __property bool get_IsTrackingViewState();
[JScript]
protected function get IsTrackingViewState() : Boolean;

プロパティ値

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

解説

このプロパティを使用するカスタム サーバー コントロールの例については、「 template 宣言のあるデータ連結コントロールのサンプル 」を参照してください。

使用例

[Visual Basic, C#, C++] カスタム ASP.NET サーバー コントロールの DataBind メソッドをオーバーライドする例を次に示します。まず、基本 OnDataBinding メソッドを呼び出して ControlCollection を使用します。そして、 ControlCollection.Clear メソッドですべての子コントロールを削除し、 ClearChildViewState メソッドでこれらの子コントロールの保存されたビューステート設定を削除します。最後に、 ChildControlsCreated プロパティが true に設定されます。その後、コントロールは 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

[C#] 
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();
}

[C++] 
public:
      void DataBind() 
      {
         Control::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();
      }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

Control クラス | Control メンバ | System.Web.UI 名前空間 | ViewState | LoadViewState | SaveViewState