2012-10-10 111 views
2

我有一個問題......如果我在我的頁面上有一個asp:Button,並且我希望那個按鈕在點擊時切換母版頁,那將是不可能的吧?Page_PreInit和事件

不可能,因爲切換主頁面需要在Page_PreInit中發生......但按鈕點擊事件不會發生,直到之後代碼在Page_PreInit中被執行。

所以,如果我在Page_PreInit塊過這樣的:

If buttonWasPressed Then 
     Me.MasterPageFile = "newMaster.master" 
end If 

這將永遠得到執行。

那麼如何通過點擊一個按鈕來改變母版頁文件呢?

謝謝!

+4

我想你需要要做到這一點做了重新加載頁面。您可以將主頁面指針存儲在會話變量或cookie中,然後檢查並根據需要進行設置。 – Steve

+1

是的,我正在思考什麼史蒂夫寫道,在會話內存中存儲觸發器,並點擊按鈕時重新加載頁面 –

回答

1

Click事件:

Session("Master") = "newMaster.master" 
Server.Transfer(Request.Url) 

在Page_PreInit:

Me.MasterPageFile = Session("Master")