通过处理程序下载文件而不结束当前响应

时间:2013-03-21 09:02:31

标签: asp.net

在我的页面上,我有一个下载文档的按钮。 我正在构建包含步骤的页面,因此第1步是选择类型,第2步是下载文档,第3步是在文本框中写入一些信息。

我想要做的是在按下下载按钮后显示第3步。

所以在button_click事件中我首先放了一些代码来显示第3步,然后我需要做一些事情来下载表单。

要下载文档,我使用ASHX处理程序文件。这很好。

但我的问题是,当我去那个处理程序时,我的页面没有更新。

我用过

response.redirect("GiveFile.ashx?file=document.doc",false)

经过一些阅读后,我发现使用response.redirect会结束当前的响应,因此页面不会更新。

我正在考虑创建一个新的响应并将其重定向到处理程序文件,但是我找不到一个示例来查看它是如何完成的。我也不知道它是否有用。

我也试过

server.transferrequest("GiveFile.ashx?file=document.doc",true)

但这也结束了当前的反应。

谁可以帮我这个?

RG, 埃里克

1 个答案:

答案 0 :(得分:2)

Google正在使用隐藏的iframe在后台下载文件。 使用代码示例检查本文:

http://encosia.com/ajax-file-downloads-and-iframes/

相关问题