2010-08-23 36 views
1

我有一個masterpage,並且在masterpage裏面我必須檢查一個session是否爲null。如果會話爲空,則必須重定向到登錄頁面。ASP.Net masterpage Response.Redirect在子調用之前

這是沒有問題的,但問題是,母版頁也有使用會話的控件,並且孩子也使用會話,所以我得到一個nullreferenceexception。

我現在有這樣的:

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

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

但問題是,在母版的控制也調用,而不是立刻重定向。

所以今天的主要問題:

我怎樣才能重定向立刻,無需加載進一步的事情。因爲page_init被稱爲第一種方法,重定向應該解決我的nullreferenceexception,但比我不需要加載所有組件等。

在此先感謝!

回答

2

您是否嘗試將Response.Redirect的第二個參數設置爲true以停止頁面的執行?

+0

謝謝...這奏效了......我忘了,因爲我在默認情況下在重定向語句類型假;-) – CyberK 2010-08-23 13:53:16

0

可以使用Page_PreInit此

私人無效Page_PreInit(對象 發件人,EventArgs的){

的Response.Redirect( 「login.aspx的」,假);

}

相關問題