2014-08-29 145 views
1

通過閱讀問題標題,您將瞭解到我的問題。在其他頁面訪問/修改母版頁的控制 - Asp.net

假設我想要一個按鈕或在母版頁中,它說登錄和用戶登錄成功,然後它會變成註銷按鈕。

可能嗎?從其他頁面更改主頁面控件?並且是否可以從其他頁面實際改變主頁面(以及其他頁面)的事件?

如果是,那麼請幫助我!

在此先感謝。

P.S:如果你不明白我的問題,那麼請問我,請不要報告它!

+0

爲什麼不把你的登錄按鈕放在你的母版頁上? – Seany84 2014-08-29 11:42:24

+0

登錄按鈕在母版頁中,當用戶登錄時,它必須或它會變成註銷按鈕。 是可能的嗎? – SikanderHayyat 2014-08-29 11:47:23

+0

是的,當然這是可能的。你爲什麼不發佈你的代碼並告訴我們問題是什麼? – Seany84 2014-08-29 11:49:41

回答

1

您可以從ContentPage訪問MasterPage的控件,我可以爲您提供詳細信息,但我認爲在您的情況下,您不需要這些,而且您的方式也是錯誤的。 您有許多其他選項,例如在母版頁中放置兩個登錄和註銷按鈕,並根據用戶身份驗證狀態顯示或隱藏它們。

然後在內容頁面登錄後,進行刷新,以便母版頁顯示正確的按鈕。 或者作爲第二種解決方案,在updatepanel中添加登錄和註銷按鈕,因此您甚至不需要刷新。

我認爲從其他頁面實際改變主頁的事件並不是一個好方法。 您只需創建登錄和註銷按鈕及相關事件,並根據身份驗證狀態顯示/隱藏它們。

更新:
創建母版頁和配置相關的事件登錄和註銷按鈕,然後在Page_Load代碼隱藏在你的母版試試這個:

if (System.Web.HttpContext.Current.Request.IsAuthenticated == true) { 
    //User is logged in 
    btnLogin.Visible = false; 
    btnLogout.Visible = true; 
} else { 
    //User is logged Out 
    btnLogin.Visible = true; 
    btnLogout.Visible = false; 
} 

所以每一個母版負荷,根據時間在身份驗證的用戶身份,顯示正確的按鈕。

+0

千萬別碰我的腦海。 'some code If(login.visible)Then'successfully logged in,because login button is visible login.visible = false logout.visible = true 這是真的嗎?順便說一句,謝謝你的幫助。我非常感謝你的想法:D – SikanderHayyat 2014-08-29 19:52:48

+0

謝謝隊友。這真的很有用:) 上帝保佑yaa – SikanderHayyat 2014-08-31 19:01:11

+0

順便說一句我可以問你別的嗎? – SikanderHayyat 2014-08-31 20:28:18