如何在向用户显示打开/保存对话框时隐藏加载动画
本文关键字:对话框 保存 隐藏 动画 加载 用户 显示 | 更新日期: 2023-09-27 18:36:37
我的应用程序中有一个导出按钮。当我单击该按钮时,它会回发到服务器并生成一个 Excel 文件。
我想在此过程中显示加载 gif,但是当打开/保存对话框显示时,我想隐藏 gif。
问题是我使用Response.End来显示文件打开/保存对话框。
有没有人知道如何在 Response.End 之后调用客户端函数,或者有人有另一种解决方案如何隐藏 gif 并让用户工作?
这是我的一段代码:
protected void Page_Load(object sender, EventArgs e)
{
//starts the loading gif animation.
btnExport.Attributes.Add("onclick", "setTimeout('"UpdateImg();'",300);");
}
protected void btnExport_Click(object sender, EventArgs e)
{
//generates the file
Response.ContentType = "application/vnd.openxmlformats- officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=ExcelDemo.xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
Response.Flush();
//Response.End();
HttpContext.Current.ApplicationInstance.CompleteRequest();
//HERE I WANT TO STOP THE ANIMATION AND GO BACK TO THE PAGE!
}
谢谢英巴尔。
这样
你就不能这样做。
当您开始将数据发送到文件并打开保存对话框时,您的网页已经失去了控制权,您无法再执行任何操作,数据都转到文件保存。
还有什么其他的,在我看来更好的选择,你有。
您可以使用处理程序 .ashx 来创建和发送文件,并提供指向页面的链接,其中包含制作文件所需的参数。