我正在尝试使用 ModalPopupExtender 和动画 gif 来创建一种“处理...”窗口。
此页面可能需要一段时间来处理请求……目前无法加快速度。最终,我可以将其切换到在幕后数据库上运行的工作,并在完成后通过电子邮件发送给他们......但现在我只需要显示一个弹出模式处理窗口。
modalpopup 工作并显示我附加到它的面板......问题是按钮回发永远不会触发。这不是 AJAX 调用,而是完整的回发。通过使用 JavaScript 打开面板,我在其他页面上做了类似的事情,但在这个页面上我想使用模式面板,这样它们就不会弄乱任何控件。
这可能吗?
这是我的代码:
服务器端按钮处理程序:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'do stuff here
Dim str As String = ""
End Sub
客户端:
...
<asp:Button ID="Button1" runat="server" Text="Button" />
...
<asp:Panel ID="pnlProgress" runat="server" style="display:none">
<div class="borderPanel">Hello!!</div>
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="Button1" PopupControlID="pnlProgress" backgroundcssclass="ModalPopupBG" BehaviorID="modalpopup" >
</asp:ModalPopupExtender>
...
因此,当我单击 Button1 时,模式会显示,但回发从未命中服务器端方法。有任何想法吗?(顺便说一句,这些控件通常被命名,因为这只是一个测试。)
谢谢,乔治
这是我的新代码... HEAD 中的 JS 代码:
function ShowPopup() {
$find('modalpopup').show();
return true;
}
按钮,面板 MPE 代码:
<asp:Button ID="Button1" runat="server" Text="login" OnClientClick="ShowPopup();" OnClick="Button1_Click" />
<asp:ModalPopupExtender runat="server" ID="programmaticModalPopup" BehaviorID="modalpopup" TargetControlID="loginButton" PopupControlID="programmaticPopup" BackgroundCssClass="modalBackground" DropShadow="True" RepositionMode="RepositionOnWindowScroll"></asp:ModalPopupExtender>
<asp:Panel runat="server" CssClass="ModalPopupBG" ID="programmaticPopup" Style="background-color: #FFFFCC; display: none; height: 25px; width: 85px; padding: 10px">
<div id='messagediv' style="text-align: center">
Loading...</div>
</asp:Panel>
服务器端代码:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'do stuff here
Dim str As String = ""
End Sub