Control.TrackViewState 方法

定义

导致跟踪服务器控件的视图状态的更改,以便这些更改可以存储到服务器控件的 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 方法,然后使用 方法删除所有子控件,并使用 ClearClearChildViewState 方法删除这些子控件的任何已保存视图状态设置。 最后, 属性 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 方法时所必需的。

适用于

另请参阅