2010-08-23 6 views
1

masterpage가 있고 그 masterpage 안에 세션이 null인지 아닌지 확인해야합니다. 세션이 null이면 로그인 페이지로 리디렉션되어야합니다.ASP.Net masterpage 자식 호출 전 Response.Redirect

문제가 없지만 masterpage에도 세션을 사용하는 컨트롤이 있고 자식도 세션을 사용하므로 nullreferenceexception이 발생합니다.

나는 이제이 있습니다

protected void Page_init(object sender, EventArgs e) 
{ 
    var session = (ServiceSession)Session["serviceSession"]; 

    if (session == null) 
    { 
     Response.Redirect("login.aspx", false); 
    } 
} 

을하지만 문제는 masterpage에있는 컨트롤을 대신 immediatly 리디렉션의 부름이다.

그래서 주요 질문 :

어떻게 더 일을로드하지 않고, immediatly 리디렉션 할 수 있습니다. page_init가 첫 번째 메서드로 호출되기 때문에 리디렉션은 내 nullreferenceexception을 해결해야하지만 모든 구성 요소 등을로드 할 필요가 없습니다.

미리 감사드립니다!

답변

2

Response.Redirect의 두 번째 매개 변수를 true로 설정하여 페이지 실행을 중단 했습니까?

+0

감사합니다 ... 그 속임수를 썼는지 ... 내가 리디렉션 문에 기본적으로 false를 입력하기 때문에 나는 그것을 잊어 ;-) – CyberK

0

당신이

개인 무효 Page_PreInit (객체 보낸 사람, EventArgs입니다 전자) {

Response.Redirect를 ("login.aspx", false)를위한 Page_PreInit을 사용할 수 있습니다;

}