更新面板中的多个模态弹出扩展程序

时间:2013-02-25 07:37:54

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

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

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

2 个答案:

答案 0 :(得分: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> 

答案 1 :(得分:0)

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

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

您还应该考虑转移到jquery对话框而不是MPE。它们更干净,更强大,更易于处理,更灵活,并且只有松散的一些功能,如访问事件后的简单代码,但这是值得的权衡。