从一个ASP页面创建多个响应

时间:2013-01-14 20:51:29

标签: asp.net httpresponse response.redirect

当用户选中复选框并单击特定按钮时,我已经在服务器上执行了一些操作,然后使用Response.Redirect“重置”页面。我还有一个函数,允许我使用application/vnd.openxmlformats-officedocument.spreadsheetml.sheet响应将数据表“导出”到Excel电子表格。

这两项工作在分开时都非常有效。但是,我现在需要做的是在单击一次按钮后发生这两个事件。

似乎我需要在导出到excel之后刷新响应然后重定向响应,但我似乎无法使其工作。我可以离开这个,需要一些帮助。感谢

修改

好吧,我决定通过打开一个新页面(downloadexcel.aspx)来解决这个问题,然后在下载完成后启动下载并关闭。我正在使用javascript打开downloadexcel.aspx,将其写入当前页面的响应。但是,出于某种原因,在重新定向原始页面之前未打开窗口。在我重定向之前,他们的方法是否被调用?也许我有语法问题?

Response.Write("<script type='text/javascript'>window.open('~/DownloadExcel.aspx', '', ''); </script>")

        Response.Redirect("~/BulkImport.aspx")

1 个答案:

答案 0 :(得分:0)

如果您想在单个HTTP请求中执行此操作,那么您将只有一个响应。您可以返回 HTTP 200(文件作为内容)或HTTP 301重定向客户端。你不能两个都回来。

最重要的是,您需要重新考虑您的方法,您可以使用javascript“清理”客户端上的表单,而不是使用重定向重新加载页面。