Asp.net将沙漏光标改回而不回发

时间:2015-01-29 14:38:07

标签: c# asp.net

我创建了一个用于下载文档的asp.net站点。我用Page.Response来处理这个问题。

try {
...
    EndpointAddress endPoint = new EndpointAddress("xxxxx.svc");
    FileServiceClient fileServiceProxy = new FileServiceClient(binding, endPoint);
    // WCF WebService call
    Stream stream = fileServiceProxy.GetFileStream(filePath);

    Page.Response.ContentType = "application/pdf";
    Page.Response.AddHeader("Content-Disposition",string.Format   ("attachment; fileName=\"{0}\"", Path.GetFileName(filePath)));
    Page.Response.AddHeader("Accept-Ranges", "bytes");
    if (buffer != null){
        Page.Response.BinaryWrite(buffer);
    }
    Page.Response.Flush();
}
catch (Exception e)
{
    Page.Response.Clear();
    Page.Response.ClearContent();
    Page.Response.ClearHeaders();
}
finally
{
    Page.Response.End();
}

当文件从webservice加载时,我想显示一个沙漏光标。显示加载光标正在运行。

protected void Page_Load(object sender, EventArgs e)
{
    btnDownload.Attributes.Add("onclick", "document.body.style.cursor = 'wait';");
}

但我无法将其改回普通光标。我想因为我没有发回帖子或者没有重新加载网站。 如果buttonClick事件结束而没有站点重新加载,我该怎么做才能设置默认光标!?

更新:使用wcf webservice调用更新了代码。我使用文件路径调用webservice并获取一个流,我将其写入Page.Response.BinaryWriter

1 个答案:

答案 0 :(得分:0)

@FrédéricHamidiTHX的链接。我改变了我的方法并显示了一个jquery等待对话框,直到文件传输完成。

File download dialog