다음을 통해 공유


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 ()

예제

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

적용 대상

추가 정보