2011-12-08 146 views
0

我有一個在ASP.net開發的Web應用程序& C#。我還爲Web UI使用Telerik ASP.NET AJAX。會話超時在主頁面中處理如下:處理會話超時而回發

public partial class Master: System.Web.UI.MasterPage 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Session["UserName"] == null) 
     Response.Redirect("~/Login.aspx"); 
} 

這工作正常,如果我嘗試在會話超時後加載頁面。但如果我嘗試執行回發它會引發NullReferenceException。

有沒有什麼辦法可以在會話超時和回發時重定向到登錄頁面?或如何處理這種情況?

回答

2

您必須在global.asax中使用session_start事件來處理這種情況,因爲在會話超時之後,如果用戶再次發回帖子,則會觸發Session_Start()事件。

請看here如何放邏輯。

+0

它適用於頁面加載。但不適用於回傳! –