Control.SaveControlState 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
페이지가 서버에 다시 게시된 후 발생한 서버 컨트롤 상태의 변경을 저장합니다.
protected public:
virtual System::Object ^ SaveControlState();
protected internal virtual object SaveControlState ();
abstract member SaveControlState : unit -> obj
override this.SaveControlState : unit -> obj
Protected Friend Overridable Function SaveControlState () As Object
반환
서버 컨트롤의 현재 상태를 반환합니다. 컨트롤과 연결된 상태가 없으면 이 메서드가 null
을 반환합니다.
예제
다음 코드 예제는 사용자 지정 ASP.NET 컨트롤에서 메서드를 재정 SaveControlState 의합니다. 이 메서드가 호출되면 내부 속성 currentIndex
이 기본값이 아닌 값으로 설정되어 있는지 여부를 확인하고, 이 경우 값을 저장하여 상태를 제어합니다.
메서드는 OnInit 사용자 지정 컨트롤이 컨트롤 상태를 사용함을 나타내기 위해 에서 Page 메서드를 호출 RegisterRequiresControlState 하도록 재정의됩니다.
public class Sample : Control {
private int currentIndex = 0;
protected override void OnInit(EventArgs e) {
Page.RegisterRequiresControlState(this);
base.OnInit(e);
}
protected override object SaveControlState() {
return currentIndex != 0 ? (object)currentIndex : null;
}
protected override void LoadControlState(object state) {
if (state != null) {
currentIndex = (int)state;
}
}
}
Class Sample
Inherits Control
Dim currentIndex As Integer
Protected Overrides Sub OnInit(ByVal e As EventArgs)
Page.RegisterRequiresControlState(Me)
currentIndex = 0
MyBase.OnInit(e)
End Sub
Protected Overrides Function SaveControlState() As Object
If currentIndex <> 0 Then
Return CType(currentIndex, Object)
Else
Return Nothing
End If
End Function
Protected Overrides Sub LoadControlState(ByVal state As Object)
If (state <> Nothing) Then
currentIndex = CType(state, Integer)
End If
End Sub
End Class
설명
메서드를 SaveControlState 사용하여 특정 컨트롤의 작업에 필요한 상태 정보를 저장합니다. 이 컨트롤 상태 데이터는 컨트롤의 뷰 상태 데이터와 별도로 저장됩니다.
컨트롤 상태를 사용하는 사용자 지정 컨트롤은 컨트롤 상태를 저장하기 전에 에서 메서드를 Page 호출 RegisterRequiresControlState 해야 합니다.
상속자 참고
컨트롤 상태를 저장하면 문자열 개체가 HTML HIDDEN
요소에 저장된 변수로 클라이언트에 반환됩니다. 컨트롤에서 사용할 상태 정보를 추출하려면 이 메서드를 재정의합니다.
컨트롤 상태는 적은 양의 페이지 인덱스 또는 키워드와 같은 중요 한 데이터를 위한 것입니다. 컨트롤 상태를 사용 하 여 많은 양의 데이터에 대 한 페이지 성능이 저하 될 수 있습니다. 자세한 내용은 ASP.NET 상태 관리 개요합니다.
적용 대상
추가 정보
.NET