Control.SaveViewState 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
페이지가 서버에 다시 게시된 이후 발생한 서버 컨트롤 뷰 상태의 변경을 저장합니다.
protected:
virtual System::Object ^ SaveViewState();
protected virtual object SaveViewState ();
abstract member SaveViewState : unit -> obj
override this.SaveViewState : unit -> obj
Protected Overridable Function SaveViewState () As Object
반환
서버 컨트롤의 현재 뷰 상태를 반환합니다. 컨트롤과 연결된 뷰 상태가 없으면 이 메서드는 null
을 반환합니다.
예제
다음 예제에서는 사용자 지정 ASP.NET 서버 컨트롤에서 메서드를 재정 SaveViewState 의합니다. 이 메서드가 호출되면 컨트롤에 자식 컨트롤이 있는지 여부와 포함하는 Page 개체가 포스트백의 결과인지 여부를 결정합니다. 둘 다 true이면 웹 서버 컨트롤의 TextLabel 속성을 변경하여 를 읽습니다 Custom Control Has Saved State
. 그런 다음 컨트롤의 뷰 상태를 라는 allStates
개체의 배열로 저장합니다.
protected override object SaveViewState()
{ // Change Text Property of Label when this function is invoked.
if(HasControls() && (Page.IsPostBack))
{
((Label)(Controls[0])).Text = "Custom Control Has Saved State";
}
// Save State as a cumulative array of objects.
object baseState = base.SaveViewState();
string userText = UserText;
string passwordText = PasswordText;
object[] allStates = new object[3];
allStates[0] = baseState;
allStates[1] = userText;
allStates[2] = PasswordText;
return allStates;
}
Protected Overrides Function SaveViewState() As Object
' Change Text Property of Label when this function is invoked.
If HasControls() And Page.IsPostBack Then
CType(Controls(0), Label).Text = "Custom Control Has Saved State"
End If
' Save State as a cumulative array of objects.
Dim baseState As Object = MyBase.SaveViewState()
Dim _userText As String = UserText
Dim _passwordText As String = PasswordText
Dim allStates(3) As Object
allStates(0) = baseState
allStates(1) = _userText
allStates(2) = PasswordText
Return allStates
End Function
설명
뷰 상태는 서버 컨트롤의 속성 값의 누적 된 것입니다. 이러한 값은 자동으로 서버 컨트롤의 배치 ViewState 인스턴스인 속성의는 StateBag 클래스. 그런 다음이 속성의이 값은 상태 저장 서버 컨트롤 수명 주기의 단계 후에 문자열 개체를 유지 합니다. 자세한 내용은 ASP.NET 페이지 수명 주기 개요합니다.
HTML에 저장 된 변수로 문자열 개체가이 클라이언트에 반환 뷰 상태가 저장 되 면 HIDDEN
요소입니다. 사용자 지정 뷰 상태를 사용하여 사용자 지정 서버 컨트롤을 작성할 때 뷰 상태는 및 LoadViewState 메서드를 사용하여 SaveViewState 명시적으로 관리할 수 있습니다. 자세한 내용은 ASP.NET 상태 관리 개요합니다. 사용자 지정 세션 상태 공급자를 구현하는 방법에 대한 자세한 내용은 Session-State 스토어 공급자 구현을 참조하세요.
적용 대상
추가 정보
.NET