VB.net 文件下载防止回发

Posted

技术标签:

【中文标题】VB.net 文件下载防止回发【英文标题】:VB.net file-download prevents postback 【发布时间】:2011-04-14 09:26:08 【问题描述】:

我想生成一个(报告)文件供用户下载,然后向用户显示一条消息以表明该过程已成功完成。

Dim myFile As FileInfo = New FileInfo(<filepath>)

'My function to generate a report (this can take a few minutes)
GenerateReport(myFile.FullName)

'Prompt user with "save as" dialog box.
Response.Clear()
Response.ClearHeaders()
Response.AddHeader("Content-Disposition", "attachment; filename=" & _
Response.WriteFile()

'Give message to say generation is complete. (This line doesn't take effect)
lblMsg.Text = "Generation complete"

但是,当我使用创建“另存为”框时,它似乎完全停止了消息的出现。这是为什么?任何人都可以提出解决方法吗?

【问题讨论】:

不明白为什么我因此被扣分。我认为这个问题很清楚,评论很好而且简洁。 【参考方案1】:

这似乎是一个相当普遍的问题。但是对于我遇到的所有建议,似乎很少有人提供任何类型的解决方案。 Here's a useful article in Rick Strahl's blog。

一个有用的方法是MyWebClient.DownloadFile。这可以下载文件,但没有按要求提供“另存为”对话框。

【讨论】:

这个答案有什么问题?不明白为什么它被标记了。

以上是关于VB.net 文件下载防止回发的主要内容,如果未能解决你的问题,请参考以下文章

防止 Visual Studio 2015 删除 VB.NET 文件中的换行符 (_)

C#/VB.NET 如何在 Excel 中添加水印

当所需的文本框为空时,如何强制页面回发

在表单数据验证期间防止 Telerik Radbutton 回发

从html输入文本框中按回车键时如何防止回发?

通过回发但特定于页面用户的变量的持久性