在其他页面中访问/修改母版页的控件 - Asp.net

时间:2014-08-29 11:38:14

标签: asp.net vb.net

通过阅读问题标题,您可以了解我的问题。

假设我有一个按钮或在母版页中,它表示登录,当用户成功登录时,它将更改为注销按钮。

有可能吗?从其他页面更改母版页控件?是否可以从其他页面实际更改母版页(以及其他页面)的事件?

如果是,请帮助我!

提前致谢。

P.S:如果你不明白我的问题那么请问我,请不要报告!

1 个答案:

答案 0 :(得分:1)

您可以从ContentPage访问MasterPage的控件,我可以为您提供详细信息,但我认为在您的情况下您不需要这样,而且您的方式错误。 您还有许多其他选项,例如在母版页中放置两个登录和注销按钮,并根据用户身份验证状态显示或隐藏它们。

然后在内容页面登录后,进行刷新,以便母版页显示正确的按钮。 或者作为第二个解决方案,将登录和注销按钮放在更新面板中,因此您甚至不需要刷新。

我认为从其他页面实际更改母版页的事件根本不是一个好方法。 您只需要创建登录和注销按钮以及相关事件,并根据身份验证状态显示/隐藏它们。

<强>更新
在主页面中创建登录和注销按钮并配置相关事件,然后在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;
}

因此,每次母版页加载时,根据用户的身份验证状态,都会显示正确的按钮。