首页 新闻 会员 周边 捐助

msdn下载文件,等待如何用asp.net 实现?如下图 (在线等)

0
悬赏园豆:20 [已关闭问题] 关闭于 2015-05-08 13:42

msdn下载文件,等待如何用asp.net 实现?如下图

补充:目前一个需求是我们项目导出Excel在到Excel可能要大量的执行sql最后在导出Excel

想在导出的时候出现个弹框或者别的+进度条,现在导出很多excel的时候也许是10分钟以上

小的文件直接就浏览器下载了,大的文件浏览器就一直未响应了

也可以在下载文件出现进度条,弹框都行 求实现原理

Cyclone77的主页 Cyclone77 | 初学一级 | 园豆:36
提问于:2015-05-06 15:27
< >
分享
所有回答(3)
0

都说了每两秒自动刷新了。只需要把进度存储在后台,每两秒刷新去拿这个值就行了。

幻天芒 | 园豆:37207 (高人七级) | 2015-05-06 15:46

能详细点吗?看看我补充的

支持(0) 反对(0) Cyclone77 | 园豆:36 (初学一级) | 2015-05-06 15:50

@Cyclone77: 既然是十分钟,我估计也没人愿意一直等着吧。给你提供几种思路:

1、通过双工通讯(WebSocket,.NET有个库叫SignalR)从服务端退进度过来.

2、通过任务的方式下载,用户只需要提交任务,下载好了给个提示或者状态就好(个人以前做导出就用的此方案)。

3、将进度和用户信息在后台存起来,然后用ajax轮训去拿进度,然后在页面显示。

支持(0) 反对(0) 幻天芒 | 园豆:37207 (高人七级) | 2015-05-06 17:17
0

https://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker(v=vs.110).aspx

这个例子很详细了

chengdu.jack.li | 园豆:274 (菜鸟二级) | 2015-05-06 16:10
0

你导出Excel是怎么做的, 如果采用的是ajax, 只需要在开始时搞个div遮罩, 然后setInterval方法里去取进度值。

问天何必 | 园豆:3311 (老鸟四级) | 2015-05-06 17:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册