다음을 통해 공유


UserControl.LoadViewState(Object) 메서드

정의

SaveViewState() 메서드로 저장한 이전 사용자 컨트롤 요청에서 뷰 상태 정보를 복원합니다.

protected:
 override void LoadViewState(System::Object ^ savedState);
protected override void LoadViewState (object savedState);
override this.LoadViewState : obj -> unit
Protected Overrides Sub LoadViewState (savedState As Object)

매개 변수

savedState
Object

복원할 사용자 컨트롤 상태를 나타내는 Object입니다.

예제

다음 예제에서는 및 메서드를 사용하여 뷰 상태를 관리하는 사용자 컨트롤을 LoadViewStateSaveViewState 보여 줍니다.

public string UserText
{
    get
    {
        return (string)ViewState["usertext"];
    }
    set
    {
        ViewState["usertext"] = value;
    }
}
public string PasswordText
{
    get
    {
        return (string)ViewState["passwordtext"];
    }
    set
    {
        ViewState["passwordtext"] = value;
    }
}

[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
protected override void LoadViewState(object savedState) 
{
    object[] totalState = null;	   
    if (savedState != null)
    {
        totalState = (object[])savedState;
        if (totalState.Length != 3)
        {
            // Throw an appropriate exception.
        }
        // Load base state.
        base.LoadViewState(totalState[0]);
        // Load extra information specific to this control.
        if (totalState != null && totalState[1] != null && totalState[2] != null)
        {
            UserText = (string)totalState[1];
            PasswordText = (string)totalState[2];
        }
    }
}

[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
protected override object SaveViewState()
{
    object baseState = base.SaveViewState();
    object[] totalState = new object[3];
    totalState[0] = baseState;
    totalState[1] = user.Text;
    totalState[2] = password.Text;
    return totalState;
}
   
    Public Property UserText() As String

        Get
            Return CStr(ViewState("usertext"))
        End Get
        Set(ByVal value As String)
            ViewState("usertext") = value
        End Set

    End Property
   
    Public Property PasswordText() As String

        Get
            Return CStr(ViewState("passwordtext"))
        End Get
        Set(ByVal value As String)
            ViewState("passwordtext") = value
        End Set

    End Property
   
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
    Protected Overrides Sub LoadViewState(ByVal savedState As Object)

        Dim totalState As Object() = Nothing
        If Not (savedState Is Nothing) Then
            totalState = CType(savedState, Object())
            If totalState.Length <> 3 Then
                ' Throw an appropriate exception.
            End If
            ' Load base state.
            MyBase.LoadViewState(totalState(0))
            ' Load extra information specific to this control.
            If Not (totalState Is Nothing) AndAlso Not (totalState(1) Is Nothing) AndAlso Not (totalState(2) Is Nothing) Then
                UserText = CStr(totalState(1))
                PasswordText = CStr(totalState(2))
            End If
        End If

    End Sub
     
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
    Protected Overrides Function SaveViewState() As Object

        Dim baseState As Object = MyBase.SaveViewState()
        Dim totalState(2) As Object
        totalState(0) = baseState
        totalState(1) = user.Text
        totalState(2) = password.Text
        Return totalState

    End Function
End Class 

설명

이 메서드는.NET Framework 인프라에서 기본적으로 사용 하며 사용자 코드에서 직접 사용할 수 없습니다. 그러나 컨트롤 개발자가 사용자 지정 서버 컨트롤에서 해당 뷰 상태를 복원 하는 방법을 지정 하려면이 메서드를 재정의할 수 있습니다. 자세한 내용은 ASP.NET 상태 관리 개요합니다.

나중에 속성에서 Control.ViewState 검색할 필요가 없도록 뷰 상태 값을 필드에 로드할 수 있습니다. 를 호출 SaveViewState 하기 직전에 속성에 ViewState 값을 삽입할 수도 있습니다. 이는 서버 왕복에서 필드를 유지하는 효과적인 방법입니다.

적용 대상

추가 정보