ASP.NET WebForm加载GIF文件响应不隐藏

时间:2016-02-24 07:11:16

标签: c# asp.net webforms response

我添加了一个名为loading.gif的gif,并将其放在id属性值为&#34的div中; loadingDiv"每次点击事件触发时都应显示。显示那个" loadingDiv"在发送请求的同时触发div。

request compile

It is expected to answer the request.

当响应到来时,触发隐藏事件,用户可以通过隐藏该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);

1 个答案:

答案 0 :(得分:0)

我认为您可以尝试将类似“file”的类添加到将返回文件的元素中。然后像这样更改你的show函数:

$("input:image").click(function () {
    if (!$(this).hasClass("file")) {
        $("#LoadingDiv").show();
    }
});

这就是为什么如果元素将返回一个文件,加载gif将永远不会显示,默认的浏览器下载窗口将会触发。

对于另一个解决方案,您可以切换到使用AJAX下载并隐藏在Success回调上加载gif。