2011-02-24 54 views
1

我有一個基類,它爲應用程序中的所有頁面實現了一些基本認證。在response.redirect後停止頁面生命週期執行

public class BasePage : Page 
{ 

    public void Page_PreLoad(object sender, EventArgs e) 
    { 
     if (!IsUserValid()) 
     { 
      Response.Redirect("default.aspx"); 
     } 
    } 


} 

public class AuthenticatedUser : BasePage 
{ 
    public void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      Databind(); 
     } 
    } 
} 

如何停止AuthenticatedUser的頁面生命週期,如果用戶無效?

感謝, Ashwani

回答

5

的Response.Redirect絕對會停止頁面生命週期執行。如果您不希望它停止,您可以在重定向目標後添加參數值false

也許我不清楚你在問什麼,如果你想停止沒有重定向,然後使用Response.End()

-1

中的Response.Redirect你可以設置一個布爾值:

Response.Redirect("Default.aspx", false); 

在這種模式下,使用方法,頁面lifecyce是當方法被調用停止(假是endResponse布爾)

+0

這是另一種方式左右,響應默認結束。這會導致它不被停止。從技術上講,你應該這樣做,以避免輸出窗口出現錯誤,但這是一種痛苦,因爲你必須爲頁面的其餘部分處理這種情況。 – 2011-02-24 17:18:24