【发布时间】:2010-10-15 13:50:20
【问题描述】:
使用 ASP.Net、JQuery 和 BlockUI,我尝试在显示下载文件对话框后解除对 UI 的阻止。
单击导出按钮时我会阻止 UI:
<script type="text/javascript">
$(document).ready(function(){
$('#<%= BtnExport.ClientID%>').click(function(){
$.blockUI();
});
});
</script>
在此之后,我使用以下命令生成文件服务器端:
private void SendFileToUser(byte[] file, string contentType, string filename)
{
Response.Clear();
Response.ContentType = contentType;
Response.AppendHeader("Content-Disposition", "attachment; filename="+filename);
Response.OutputStream.Write(file,0,file.Length);
Response.OutputStream.Flush();
Response.End();
}
这段代码执行后,我想解除对 UI 的阻塞。
我考虑过不同的选择:
- 使用 Ajax 调用轮询以查看文件是否已生成。
- 将文件存储在Session中并重定向到同一页面然后生成下载。
但是这两个选项似乎都不合适,我认为必须有一种巧妙的 JavaScript 方法来处理或等待文件对话框。
有什么建议吗?
【问题讨论】:
标签: asp.net javascript jquery blockui