使用 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 方法来处理或等待文件对话框。
有什么建议么?