Control.TrackViewState 方法

定義

導致對伺服器控制項的檢視狀態變更的追蹤 (Tracking),以便它們能夠儲存於伺服器控制項的 StateBag 物件。 這個物件可透過 ViewState 屬性存取。

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 伺服器控制項中的 方法。 它會從呼叫基底 OnDataBinding 方法開始,然後使用 Clear 方法來刪除所有子控制項,以及 ClearChildViewState 刪除這些子控制項的任何已儲存檢視狀態設定的方法。 最後, ChildControlsCreated 屬性會設定為 true 。 控制項接著會使用 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

備註

這個方法會在伺服器控制項生命週期的事件結尾 Init 自動呼叫。

當您開發樣板化資料繫結控制項時,請叫用這個方法。 此方法會警示 ASP.NET 監視伺服器控制項檢視狀態的變更,這是覆寫 Control.DataBind 方法時的必要專案。

適用於

另請參閱