0

我正面临 ASP.NET 和 Response 的问题。

我想做的其实很简单:按钮点击、文件生成、文件下载。

我可以做到这一点,但每当我尝试单击同一个按钮(或另一个按钮)时,页面似乎被冻结:没有回发,没有事件..

如何在不冻结页面的情况下返回文件?

我正在使用的代码是这样的:

    var xls = GridViewExportUtil.Export((IEnumerable<ConfigurationReportSummary>)table.DataSource, "WebSiteConfig.xls");
    this.Response.ContentType = @"application/vnd.ms-excel";
    this.Response.AppendHeader("Content-Disposition", @"Attachment; filename=""WebSiteConfig.xls""");
    this.Response.Charset = string.Empty;
    this.Response.ContentEncoding = System.Text.Encoding.Default;
    this.Response.BinaryWrite(xls.ToArray());
    this.Response.Flush(); //Also tried without this
    this.Response.End(); //Also tried without this

非常感谢!

4

1 回答 1

0

您刷新并结束您的响应,这就是您的页面看起来像冻结的原因。创建一个处理程序,例如 ashx,以创建和交付下载。从您的初始页面,链接到该处理程序。这样,页面可以保持活动状态。

如需详细的文件传送,请尝试本文

于 2013-06-12T09:42:52.000 回答