我需要更新一对旧的经典asp页面— a search.asp
页面,该页面提供了一个简单的表单,然后将其发布到results.asp
页面。搜索页面上的表单选项之一是“格式”的下拉列表(<select
)。如果用户选择excel格式,结果页面将Response.ContentType设置为application/vnd.ms-excel
,并添加一个content-disposition标头来设置文件名并将其作为附件。就是这样:它能够正确渲染html,并且通常做得非常好。下载完成时触发javascript代码
所有这些工作都很好,除了一件事。 Excel选项的原因在于,在这种情况下,用户确实希望为单个搜索查看多达10,000个项目甚至更多。他们将使用Excel对结果进行一些额外的分析。所以搜索操作通常需要一分多钟,我无法改变这一点。
那一分钟内的用户体验并不理想。用户不仅仅坐在那里几乎没有任何反馈,但通常有足够的结果让页面溢出响应缓冲区。这意味着页面必须定期刷新,因此文件立即开始下载,但下载管理器本身无法提供有意义的反馈。我的任务是改善这种状况。
第一步是在表单提交时在搜索页面上仅显示一条简单的processing...
消息,我可以轻松地做到这一点。事实上,它已经为“HTML”格式选项做了这个。问题是,当下载Excel文件时,我不知道如何告诉下载的任何内容,所以我可以再次隐藏该消息,现有的实现根本没有提供任何关于下载进度的反馈。有任何想法吗?如果我可以在下载完成时触发一个JavaScript函数来触发,我可以将任何东西都挂钩,但我甚至无法完成此操作。
更新:
我重新提出了这个问题,试图更清楚地提出问题。
将不起作用:看到我更新的问题。 – 2008-11-25 00:55:44