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

留言

這個網誌中的熱門文章

嘗試卸載資料庫時,發生資料庫正在使用的而無法卸載的可能解決方案

PMP常用的英文單字