在Response.AppendHeader之后,window.onload无法正常工作

时间:2012-10-18 06:30:34

标签: c# javascript asp.net

我有一个正常工作的加载图片 但是当我向表单添加下载按钮时 添加了代码

        Response.ClearContent();
        Response.ContentType = "application/vnd.ms-excel";
        Response.AppendHeader("Content-Disposition", "attachment; filename=ssss.xls");
        Response.WriteFile(uploadingFilePath & fileName)
        HttpContext.Current.ApplicationInstance.CompleteRequest();

我明白了,当运行时

Response.AppendHeader("Content-Disposition", "attachment; filename=ssss.xls"); 

行,然后window.onload函数无效 谁能帮我 提前致谢

1 个答案:

答案 0 :(得分:0)

window.onload是一个javascript函数。您现在正在撰写的回复是一个Excel文件。

当您设置ContentType http标头时,您告诉浏览器您正在向其发送应用程序文件,浏览器将提示用户将文件保存到磁盘。

您的页面,当提示用户或下载文件时,您的javascript不会收到事件。

如果您的回复是文件,则无法删除事件上的加载图像。 您可以通过设置javascript setTimeOut来删除它。

参考:setTimeOut

这将在5秒后调用函数hideImage。将其添加到显示图像的功能中。

function hideImage() {
    //hide your image
}
window.setTimeout(hideImage, 5000);