在显示下载弹出窗口之前在标签中显示消息?

时间:2016-01-11 04:27:31

标签: asp.net

我有以下代码:

lblInfoMessage.Text = "Successful";

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.BufferOutput = false;
HttpContext.Current.Response.ContentType = "application/zip";
HttpContext.Current.Response.AddHeader(
     "content-disposition",
     string.Format("attachment; filename={0}", zipFileName));

// code to generate a file

HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();

此页面只显示一个弹出窗口,用于下载我生成的文件,但我还需要一条标签lblInfoMessage中显示的消息。

1 个答案:

答案 0 :(得分:1)

要让您的标签显示消息,页面需要先发回。您只能进行回发或文件下载,而不能在一个请求中同时执行这两项操作。

通常,提供文件下载的网站会显示“您的文件将在10秒内下载”等消息。在此之后,页面会加载一个不同的页面,其中包含下载文件的代码。

这可以通过使用元刷新标记在asp.net中实现,该标记会自动将您从“成功”页面重定向到包含文件下载代码的第2页。

这是一篇很好的文章,展示了如何在asp.net http://www.aspsnippets.com/Articles/Redirect-to-another-page-after-5-seconds-in-ASPNet.aspx

中使用元刷新