Control.TrackViewState 메서드

정의

서버 컨트롤의 뷰 상태 변경 사항 추적 작업을 실행하여 서버 컨트롤의 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 ()

예제

다음 예제에서는 사용자 지정 ASP.NET 서버 컨트롤의 DataBind 메서드를 재정의 합니다.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. 이 메서드는 Control.DataBind 메서드를 재정의할 때 필요한 서버 컨트롤의 뷰 상태에 대 한 변경 내용을 모니터링 하도록 ASP.NET에 알립니다.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.

적용 대상

추가 정보