【问题标题】:Multiple modal popup extenders in update panel更新面板中的多个模式弹出扩展器
【发布时间】:2013-02-25 07:37:53
【问题描述】:

我在更新面板中有两个模态弹出扩展器。问题是当我调用任何模式弹出窗口的 show 方法时,都会显示两个弹出窗口。

请告诉我如何解决这个问题?提前致谢。

【问题讨论】:

  • 请贴一些代码。

标签: asp.net asp.net-ajax updatepanel modalpopupextender


【解决方案1】:

我没有看到任何代码的猜测是您将它们绑定到同一个控件。

<asp:button id="SAME_ID" runat="server" />

<ajaxtoolkit:modalpopupextender 
    id="ModalPopupExtender" 
    runat="server"    
    targetcontrolid="SAME_ID"> 
</ajaxtoolkit:modalpopupextender> 

<ajaxtoolkit:modalpopupextender 
    id="ModalPopupExtender2" 
    runat="server"    
    targetcontrolid="SAME_ID"> 
</ajaxtoolkit:modalpopupextender> 

【讨论】:

    【解决方案2】:

    您需要多个 MPE 吗?如果您尝试根据用户交互或数据状态显示不同的表单,请考虑将更新面板移动到单个 MPE 的边界内,然后显示/隐藏包含内容块的占位符(或面板)。

    MPE 是非常重的客户端,将它们放在更新面板中可确保您在更新面板更新时发送大量代码和标记。 MPE 也非常脆弱,如果它们在其下方移动的地面无法正常运行(例如更新面板更新时),我不会感到惊讶。然而,他们确实对他们内在内容的变化做出了相当好的反应。如果内容块的大小不同,您可能会遇到背景和阴影问题,但这些都是可配置的。

    您还应该考虑使用 jquery 对话框而不是 MPE。它们更简洁、更健壮、更易于处理、更灵活,并且仅丢失了一些功能,例如访问事件的简单代码,但这是值得的权衡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-05
      • 2011-06-11
      • 2011-01-24
      • 2011-08-16
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多