2006/04/20

유저 컨트롤에서 페이지의 ViewState 접근...

마침 저도 User Control 에서 Page의 상태 값에 접근할 필요가 있어서 구현을 해보니 ViewState 속성에 직접 접근하는 것은 않되더군요.

그런데 MSDN 의 예제 코드에서 속성의 get, set 메서드 구현시 ViewState 값을 사용하는 것을 본 적이 있어서

Page 의 속성 정의를 통해 접근을 시도해보니 되더라구요.

구체적으로 말씀드리면

Page 의 속성을 정의 해놓고 (물론 속성 값의 한정자는 public 으로...
속성의 get, set 메서드에 ViewState 값을 이용합니다.

예를 들어

Page 에 StateValue 라는 속성을 정의 하고 StateValue 의 get, set 메서드를 다음과 같이 구현합니다.

public string StateValue
{
    get
    {
        if (ViewState["statevalue"] == null)
            return "";\
        else
            return ViewState["statevalue"].ToString();
    }
    set
    {
        ViewState["statevalue"] = value;
    }
}

그리고 WebForm1 이라는 Page 에 포함된 User Control 에서 WebForm1 의 상태 값을

1. 저장할 때는 ( (WebForm1)Page ).StateValue = "Value1";
2. 검색할 때(읽어 올 때)는 string strPageValue = ( (WebForm1)Page ).StateValue;

와 같은 형식으로 접근하면 될 것 같습니다.

물론 Page 단의 메서드를 통해서 접근하는 것도 가능할 꺼라 생각되고요...

수고하세요.^^

 

 출처: 데브피아
http://www.devpia.com/Forum/BoardView.aspx?no=61989&ref=61949&forumname=ASPNET_QA


댓글 없음:

댓글 쓰기

가장 많이 본 글