Asp.net 应用程序范围的ModalPopupXtender

Asp.net 应用程序范围的ModalPopupXtender,asp.net,firefox,user-controls,asp.net-ajax,confirmbuttonextender,Asp.net,Firefox,User Controls,Asp.net Ajax,Confirmbuttonextender,我正在尝试构建一个ModalPopupXtender,以及一个面板和内容,并需要将其扩展到应用程序范围。我正在考虑在母版页上创建它,以便在所有页面上都可以访问它,但我需要面板内的内容(我可能需要在那里添加的任何内容)在母版页外部可见并可编辑。 目前,我正在研究这个问题,但还没有弄清楚如何使其他页面和类可以访问它,所以我想在这方面提供一些帮助 基本上,我想要的是在不久的将来对这个想法进行更多的研究,以使它能够在任何web应用程序上使用,并且完全可定制。我遇到的问题是“基础”,比如让应用程序可以访问

我正在尝试构建一个ModalPopupXtender,以及一个面板和内容,并需要将其扩展到应用程序范围。我正在考虑在母版页上创建它,以便在所有页面上都可以访问它,但我需要面板内的内容(我可能需要在那里添加的任何内容)在母版页外部可见并可编辑。 目前,我正在研究这个问题,但还没有弄清楚如何使其他页面和类可以访问它,所以我想在这方面提供一些帮助

基本上,我想要的是在不久的将来对这个想法进行更多的研究,以使它能够在任何web应用程序上使用,并且完全可定制。我遇到的问题是“基础”,比如让应用程序可以访问它,允许从服务器和客户端定制面板内部的一些控件,并从那里改进一切

我曾尝试为它创建一个用户控件,但似乎不起作用。我不是asp.net方面的专家(有几年的经验),更不是ajax方面的专家,所以非常感谢您的帮助。 如果有任何问题,请告诉我

编辑: 我现在已经成功地在用户控件中创建了moodal,并且几乎完成了。 目前,有两个问题我无法解决:

  • Firefox3.5(企业版,不能碰这个)上发生的该死的闪烁。局部地,在页面加载期间(在页面初始化或页面预初始化事件附近的某个地方,不确定),只有在回发发生时,我的modals才会在屏幕上快速闪烁。我已经做了一些变通,比如设置样式显示:无,但问题仍然存在。在这件事上需要一些帮助
  • 我需要有一个模式,有2个行为,如windows弹出窗口。一个是信息,比如只显示一些按钮的信息,另一个是问题。对于问题,我需要使用ConfirmButtonExtender,因此需要告诉此确认扩展器和模式,外部按钮(表示不在用户控件内的按钮,也就是说,它与确认扩展器和模式扩展器位于同一个UpdatePanel之外)将是它们的TargetControlID。现在,我无法解决这个问题,所以我考虑在UC和UpdatePanel中创建一个按钮,它将始终是TargetControlID。当弹出窗口是信息性的时,它将作为一个虚拟隐藏按钮(通过方法在服务器端调用信息消息),当它是一个问题时,它将接收响应。按钮要执行的方法将通过委托进行设置,因此,当单击按钮并按下模式上的“是”按钮时,任何方法都可以运行(它还没有准备好,我不确定它是否会工作,或者即使这是一个好主意)。 如果您对第二种选择有任何想法,我们将不胜感激

  • 母版页上的元素很容易从母版页外部可见和编辑

    在本例中,母版页有一个标签,您希望从其他页面读取/写入该标签

    <asp:Label ID="lblSubTitle" runat="server" Text="sub title"></asp:Label>
    
    然后,任何使用此母版页作为其母版页文件的页面都可以找到subtitle属性并读取或写入它

    // get a reference to the masterpage
    MainMasterPage master = (MainMasterPage)Master;
    
    //set it to the value you want.
    master.SubTitle = "Custom sub title";
    

    我已经解决了这个问题,并创建了一个包含modalpopp的用户控件,用于显示自定义消息。
    许多方面都是公开的,因此它允许高度定制,并且modal和它的定制按钮工作起来很有魅力。关于闪烁,我仍然有一个问题,但这是另一个问题。

    您的样品很好,但不清楚我需要什么。事实上,这是我的错误,没有更具体地说明我的需要。
    // get a reference to the masterpage
    MainMasterPage master = (MainMasterPage)Master;
    
    //set it to the value you want.
    master.SubTitle = "Custom sub title";