如何在向用户显示打开/保存对话框时隐藏加载动画

本文关键字:对话框 保存 隐藏 动画 加载 用户 显示 | 更新日期: 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 来创建和发送文件,并提供指向页面的链接,其中包含制作文件所需的参数。