2009-12-04 149 views
0

我正在使用ASP.NET。會話丟失時重定向頁面?

如果我的會話超時,我想重新定向網頁到另一個網址:說主頁....

在我的網頁我使用的是使用會話變量一個GridView的。如果會話變量時間到期(目前在60分鐘),並且用戶在GridView中單擊一行,我想將他/她重定向到我網站的主頁。可以這樣做,我會怎麼做?

在此先感謝!

+0

你就不能檢查,如果會話變量存在,並調用Response.Redirect的首頁? – 2009-12-04 12:40:18

回答

6

在Session集合中存儲一些值。然後檢查下一位用戶的請求是否仍然存在。如果不是,重定向。

//把一些會議標記

Session["IsOldSession"] = true; 

//再後來......

if (Session["IsOldSession"] == null) 
    Response.Redirect ("~/OMG.aspx"); 
+0

正好我要做的+1 – Oded 2009-12-04 12:40:32

+0

鍵入我的答案,看到這個人在那裏! :D – 2009-12-04 12:42:19

+0

艾你當然是對的,笨我。當用戶點擊GridView SelectedIndexChanged事件時,我將添加此代碼! – Etienne 2009-12-04 12:46:21

1

或者你可以簡單地依靠會話集合中的項目計數通過使用Session.Contents.Count。我更喜歡通過實例化一個額外的項目來保持會話狀態集合。

If Session.Contents.Count = 0 Then 
    Response.Redirect("~/default.aspx") 
End If 
0

或者只是這樣做在你的Page_Init()

if (Session.IsNewSession) 
{ 
    Response.Redirect("homepage.aspx"); 
}