2011-09-24 64 views
0

我目前正在建立一個新的網站,我的客戶在那裏獲得他們自己的子域名。 例如:在什麼「事件」我應該把-account-ID會話代碼?

user1.mydomain.com 
user2.mydomain.com 
userDef.mydomain.com 
... 

該網站是內置的,上運行:IIS,asp.net C#

所以。因爲有很多虛擬主機子域名。我的代碼中有一個函數連接到數據庫並檢查帳戶的ID。

SELECT account_ID where account_subdomain = 'user##' LIMIT 1; 

根據ID和masterpage返回不同​​的數據/設計。

我的問題是,在哪個「事件」我應該把我的函數,把accountID在會話(「accountID」)?

因爲我想在每一個頁面上這個我試圖把它放在master_page_page中,但是這太晚了。我猜內容頁面中的page_load會在masterpage中的page_load之前呈現?

Soo,有沒有什麼好的地方可以放置我的功能,以便在網頁上寫上任何其他內容之前完成帳戶ID檢查?

謝謝! 亞光

回答

1

一個選項是創建一個HttpModule並將代碼放在那裏,因爲它會在實際頁面開始處理之前到達頁面請求。這將確保您的帳戶ID在每個頁面上都可用,並且在您需要它的任何事件之前設置。

如果您最終要走這條路線,您需要將您的代碼放入PostAcquireRequestState或PreRequestHandlerExecute事件,以便Session可供您修改。

+0

這工作得很好! – Easyrider

0

嘗試將代碼放置在母版頁的Page_Init事件中。內容頁面的Page_Load事件在主頁面的Page_Load事件之前被調用。但是,在Page_Init的情況下,這是相反的。

相關問題