【问题标题】:Change Master page button visibility when clicking a button in the child单击子项中的按钮时更改母版页按钮的可见性
【发布时间】:2017-01-19 23:44:53
【问题描述】:

我有一组 aspx 页面,它们使用母版页为页面提供共同的外观和感觉,即。页眉和页脚,页眉通过标签条导航,页脚有几个按钮,每个页面都需要可用,即保存当前页面并返回主页面或取消并返回主页面的能力。我被要求添加锁定和解锁需要从集合中的任何页面完成的页面集的功能,因此我将其放在页脚中。棘手的部分是可以通过单击页脚中的按钮或更改其中一个页面的状态来锁定页面。我在状态更改时将其锁定,但是在尝试使其隐藏母版页锁定按钮并取消隐藏解锁按钮时遇到问题。

我尝试通过后面的代码 (C#) 和通过 javascript 更改它,但没有成功。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript c# asp.net master-pages


    【解决方案1】:

    您必须在子级中使用FindControl 才能在母版页上找到按钮。

    protected void ButtonInChild_Click(object sender, EventArgs e)
    {
        Button button = this.Master.FindControl("Button1") as Button;
        button.Visible = false;
    }
    

    【讨论】:

    • 我尝试了类似但没有运气的方法: PermitDetails myMasterPage = Page.Master as PermitDetails; myMasterPage.LockLink.Visible = false; myMasterPage.UnlockLink.Visible = true;
    • 什么是PermitDetails?从你想用按钮隐藏的母版页发布一些 aspx 代码。
    【解决方案2】:

    我会在母版页中实现隐藏/显示按钮的方法。然后可以根据所需的逻辑从内容页面调用它们。

    namespace MasterPage
    {
      void Unlock()
      {
        btnLock.Visible = true;
        btnUnlock.Visible = false;
      }
    }
    
    namespace ChildPage
    {
      void Unlock()
      {
        (this.Master as MasterPage).Unlock();
      }
    }
    

    【讨论】:

    • 好吧,我应该改写一下,它不会在我锁定后立即更改。如果我导航到另一个页面并返回,那么它会正确更改,但是我需要立即更改
    • 您在页面上使用 AJAX 吗?是否进行了完整的回发?
    猜你喜欢
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多