Sssion Time Out 2
http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=3766949&SiteID=14
我們的作法:
設計一個BaseForm class,也就是一個基底類別供每頁繼承
而這個BaseForm又繼承自System.Web.UI.Page,所以有page.load事件
在這個BaseForm.Page_load()裡面會判斷session是否逾時
如果逾時的話就把畫面導到default page,比如:登入頁面
例如:
'Class BaseForm定義:
Public Class BaseForm
Inherits System.Web.UI.Page
Protected _DefaultPageName As String = ConfigurationManager.AppSettings("Default_page")
Protected _WebSiteRoot As String = ConfigurationManager.AppSettings("WebSiteRoot")
'這個page_load會最早執行
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsNothing(Session("UserData")) Then
Response.Redirect(Me._WebSiteRoot & Me._DefaultPageName, True) '靠這個把session遺失的導入default page
End If
End Sub
End Class
'其他頁面的定義:
Partial Class OtherPage
Inherits BaseForm
'再來才會執行這個頁面的page_load
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
..........寫這個頁面page_load要做的事
End Sub
End Class
我們的作法:
設計一個BaseForm class,也就是一個基底類別供每頁繼承
而這個BaseForm又繼承自System.Web.UI.Page,所以有page.load事件
在這個BaseForm.Page_load()裡面會判斷session是否逾時
如果逾時的話就把畫面導到default page,比如:登入頁面
例如:
'Class BaseForm定義:
Public Class BaseForm
Inherits System.Web.UI.Page
Protected _DefaultPageName As String = ConfigurationManager.AppSettings("Default_page")
Protected _WebSiteRoot As String = ConfigurationManager.AppSettings("WebSiteRoot")
'這個page_load會最早執行
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsNothing(Session("UserData")) Then
Response.Redirect(Me._WebSiteRoot & Me._DefaultPageName, True) '靠這個把session遺失的導入default page
End If
End Sub
End Class
'其他頁面的定義:
Partial Class OtherPage
Inherits BaseForm
'再來才會執行這個頁面的page_load
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
..........寫這個頁面page_load要做的事
End Sub
End Class
留言