我在更新面板中有两个模式弹出扩展器。问题是当我调用任何模式弹出窗口的 show 方法时,都会显示两个弹出窗口。
请让我知道我们该如何解决这个问题?提前致谢。
我在更新面板中有两个模式弹出扩展器。问题是当我调用任何模式弹出窗口的 show 方法时,都会显示两个弹出窗口。
请让我知道我们该如何解决这个问题?提前致谢。
我没有看到任何代码的猜测是您将它们绑定到同一个控件。
<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>
您需要多个 MPE 吗?如果您尝试根据用户交互或数据状态显示不同的表单,请考虑将更新面板移动到单个 MPE 的边界内,然后显示/隐藏包含内容块的占位符(或面板)。
MPE 是非常重的客户端,将它们放在更新面板中可确保您在更新面板更新时发送大量代码和标记。MPE 也非常脆弱,如果它们在其下方移动的地面无法正常运行(例如更新面板更新时),我不会感到惊讶。然而,他们确实对他们内在内容的变化做出了相当好的反应。如果内容块的大小不同,您可能会遇到背景和阴影问题,但这些都是可配置的。
您还应该考虑使用 jquery 对话框而不是 MPE。它们更干净、更健壮、更容易处理、更灵活,并且只丢失了一些特性,比如访问事件的简单代码,但这是一个值得的权衡。