我创建了一个用于下载文档的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