2014-08-29 119 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