我添加了一个名为loading.gif的gif,并将其放在id属性值为&#34的div中; loadingDiv"每次点击事件触发时都应显示。显示那个" loadingDiv"在发送请求的同时触发div。
当响应到来时,触发隐藏事件,用户可以通过隐藏该loadingDiv元素轻松了解进程已到达终点。
这部分过程表现完美。但是,如果事件返回文档(如excel),则下载过程触发并且隐藏事件永远不会执行。
我想在结束过程中隐藏loadingDiv。
我添加了一些关于我的问题的照片。我希望在状态超出挂起状态时隐藏loadingDiv元素。
感谢您的回复。
显示正在加载:
$("input:image").click(function () {
$("#LoadingDiv").show();
});

MasterForm添加Html元素
private void AddLoadingImage()
{
HtmlGenericControl NewControl = new HtmlGenericControl("div");
NewControl.ID = "LoadingDiv";
NewControl.Attributes.Add("style", "background-image: url('../../common/images/477.gif'); background-repeat: no-repeat; background-attachment: fixed; background-position: center; width: 100%; height: 98%; position: absolute; top: 1px; display: none;");
this.Form.Controls.Add(NewControl);
}
响应:
myWorkbook = new Aspose.Cells.Workbook(ms);
myWorkbook.Save (response, fileName, contentDisposition, saveOptions);
答案 0 :(得分:0)
我认为您可以尝试将类似“file”的类添加到将返回文件的元素中。然后像这样更改你的show函数:
$("input:image").click(function () {
if (!$(this).hasClass("file")) {
$("#LoadingDiv").show();
}
});
这就是为什么如果元素将返回一个文件,加载gif将永远不会显示,默认的浏览器下载窗口将会触发。
对于另一个解决方案,您可以切换到使用AJAX下载并隐藏在Success回调上加载gif。