2010-06-10 71 views
0

有沒有一種方法可以調用一個函數,或者製作一個在每次加載頁面之前運行的文件。我希望能夠在顯示頁面之前檢查他們是否有有效的會話。在每次頁面加載之前進行會話檢查?

+0

「有效會話」是否表示他們已登錄且會話未過期?或者你的意思是你需要以某種方式驗證會話數據? – 2010-06-10 18:56:36

+0

@john:請不要在標題中重複標籤中的「C#」等標籤。這就是標籤的用途。 :-) – 2010-06-10 19:07:00

+0

@John:這是我第一次看到你用笑臉! (0: – 2010-06-10 20:08:04

回答

3

您應該看看實現可以在頁面呈現時調用的事件處理程序之一。

欲瞭解更多信息,請參閱MSDN上的page life cycle page

如果你只是想不顯示任何東西,那麼PreInit()事件可能是你想要的。

如果要顯示不同的內容,則PreLoad()事件可能更合適。

2

正如克里斯所說你需要回應頁面生命週期中發生的事件之一。如果你想在一個地方做檢查,你可以從Page類派生一個類,並讓所有頁面實現該類。

2

只是檢查,如果會議是在頁面的Page_Preinit事件空:

 private void Page_PreInit(object sender, System.EventArgs e) { 
      if ((Session == null)) { 
      // Do something here 
      } 
     } 

如果你需要做這在很多頁面,只需創建一個基本頁面,把代碼在那裏,讓你的網頁繼承該底座。

你應該真正熟悉你的自我和頁面生命週期,正如ChrisF所建議的。

-D

+0

這就是不是C#,你知道的 – 2010-06-10 19:09:33

+0

哎呀!我的不好,謝謝史蒂文指出,我更正了語言 – 2010-06-10 19:21:05

+0

+1提及使用基本頁面類。 – 2010-06-11 02:08:15

0

如果你正在談論的頁面加載之前運行在多個不同的頁面通用代碼,這聽起來像你正在尋找MasterPages,在那裏你實現在母版頁的會話確認。

相關問題