模态弹出扩展器需要2次点击才能触发

时间:2012-10-23 10:33:10

标签: asp.net-ajax modalpopupextender ajaxcontroltoolkit

我在本论坛和其他论坛中查看了各种类似的问题但未找到答案。

我有几个modalpopup扩展器和相应的面板。我没有更新面板或页面上的任何其他ajax控件。页面显示OK(加载时面板不可见)。

问题是第一次尝试打开弹出窗口。单击任何“目标”按钮将导致在第二次单击之前不显示弹出窗口。在初始故障之后,单击任何按钮一次将使相应的面板显示为必需。

导致此问题的原因。

我的代码的缩减版....

<asp:Button ID="but_Pn1Opn" runat="server" Text="Panel One" />
<asp:Button ID="but_Pn2Opn" runat="server" Text="Panel Two" />

<asp:ModalPopupExtender ID="mpx_Pn1" runat="server" OkControlID="but_Pn1Cls" 
BehaviourID="Pn1" DynamicServicePath="" Enabled="true" PopupControlID="Pn1"
TargetControlID="but_Pn1Opn" BackgroundCssClass="modalBackground" />
<asp:Panel ID="Pn1" runat="server" Width="600px" CssClass="modalPopup" Style="display:none">
<div class="box">
<table>
<tr><th>Panel One Title</th></tr>
<tr><td>Panel One Content</td></tr>
<tr><td><asp:Button ID="but_Pn1Cls" runat="server" Text="Close" /></td></tr>
</table>
</div>
</asp:Panel>

<asp:ModalPopupExtender ID="mpx_Pn2" runat="server" OkControlID="but_Pn2Cls" 
BehaviourID="Pn2" DynamicServicePath="" Enabled="true" PopupControlID="Pn2"
TargetControlID="but_Pn2Opn" BackgroundCssClass="modalBackground" />
<asp:Panel ID="Pn2" runat="server" Width="600px" CssClass="modalPopup" Style="display:none">
<div class="box">
<table>
<tr><th>Panel Two Title</th></tr>
<tr><td>Panel Two Content</td></tr>
<tr><td><asp:Button ID="but_Pn2Cls" runat="server" Text="Close" /></td></tr>
</table>
</div>
</asp:Panel>

我的实际页面有7个这样的面板。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

我复制了你的代码然后运行它。你有一个脚本管理员吗?此外,我删除了BehaviourID属性,因为我收到以下错误:

'AjaxControlToolkit.ModalPopupExtender'没有名为'BehaviourID'的公共属性

我认为这是由于工具包的不同版本所致。此属性用于表示要与事件关联的Javascript函数。尝试删除它,看看会发生什么。