gpt4 book ai didi

ASP.net 下载页面

转载 作者:行者123 更新时间:2023-11-28 10:32:41 24 4
gpt4 key购买 nike

我有一个 Reports.aspx ASP.NET 页面,允许用户通过单击多个超链接来下载 Excel 报告文件。单击报告超链接后,我使用 javascript window.open 方法打开一个新窗口,然后导航到 download.aspx 页面。下载页面的代码隐藏使用 openxml(在内存中)动态创建一个 excel 文件并将其发送回浏览器。以下是 download.aspx 页面中的一些代码:

    byte[] outputFileBytes = CreateExcelReport().ToArray();
Response.Clear();
Response.BufferOutput = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", "tempReport.xlsx"));
Response.BinaryWrite(outputFileBytes);
Response.Flush();
Response.Close();
Response.End();

我的问题:其中一些报告需要一些时间才能生成。我想在请求 download.aspx 页面时在 Reports.aspx 页面上显示 loading.gif 文件。页面请求完成后,loading.gif 文件应变为不可见。

有没有办法实现这一点。也许是某种事件。我有 mootools 可供使用。

谢谢

PS。我知道生成这样的报告并不理想,但那是一个不同的故事......

最佳答案

最好将报告生成逻辑移至 ASP 处理程序,因为此处不涉及 UI。

在 download.aspx 页面上,在不可见的 iframe 中打开处理程序,并在 download.aspx 页面上显示加载动画

将 onload 事件添加到 download.aspx 中的框架以删除加载动画。

类似这样的事情

<html>
<body>
<iframe id='myframe' src='http://www.google.com'></iframe>
<script language='javascript'>
var ifr=document.getElementById('myframe');
ifr.onload=function(){alert('hello');}
</script>
</body>
</html>

关于ASP.net 下载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2612956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com