我有一个Javascript电话:
window.location.replace(instanceExtension(baseURL + "/AccountsReceivable/PrintStatementOfAccount?clientId=" + clientId, -1));
PrintStatementOfAccount()方法需要几秒钟,所以我在页面上添加了一个掩码,表明PrintStatement正在加载。
ASP方法定义为:
public FileResult PrintStatementOfAccount(long clientId) { ... }
一切都很好,但是我想在文件返回后禁用等待掩码。有关如何实现这一目标的任何想法?
答案 0 :(得分:1)
您可以将令牌传递给该方法,并在javascript中检查该令牌。
var token = new Date().getTime();
$('#download_token_valueid').val(token);
$.download(path + "Print.ashx", 'Id=' + id + "&token=" + token);
fileDownloadCheckTimer = window.setInterval(function () {
var cookieValue = $.cookie('fileDownloadToken');
if (cookieValue == token)
finishDownload();
}, 1000);
function finishDownload() {
window.clearInterval(fileDownloadCheckTimer);
$.cookie('fileDownloadToken', null); //clears the cookie value
$.unblockUI();
}
答案 1 :(得分:1)
您无法从JavaScript了解该文件是否已返回浏览器。
作为一种解决方法而不是直接返回文件,您可以拆分该过程: