【发布时间】:2009-07-22 19:33:58
【问题描述】:
我有一个带有 gridview 的表单,它绑定到一个复杂的存储过程(财务数据)。此查询大约需要 3 分钟来运行和加载 gridview。用户不耐烦,反复点击“搜索”,只会让事情变得更糟。
作为临时解决方案,我想显示一个进度条,我找到了使用 ASP.NET AJAX ModalPopupExtender 的解决方案。
这是我将扩展器添加到页面的代码:
<ajaxToolkit:ModalPopupExtender ID="mdlPopup" runat="server" TargetControlID="Button1"
PopupControlID="pnlPopup" BackgroundCssClass="modalBackground" />
<asp:Panel ID="pnlPopup" runat="server" CssClass="updateProgress" style="display: none">
<div align="center" style="margin-top: 13px;">
<img src="../images/progress.gif" alt="Progress" />
<span class="updateProgressMessage">Loading ...</span>
</div>
</asp:Panel>
这是按钮点击事件的非常简单的代码:
protected void Button1_Click(object sender, EventArgs e)
{
gvInvoice.DataBind();
}
问题是,当我单击“搜索”按钮时,会弹出模式对话框,但永远不会调用 Databind() 方法。我尝试使用mdlPopup.Show(),但没有显示对话框,而是运行Databind()。
我错过了什么?如何确保模态对话框出现、数据绑定运行以及模态对话框随后消失?
【问题讨论】:
标签: asp.net ajax ajaxcontroltoolkit