0

当用户选中复选框并单击特定按钮时,我已经在服务器上做了一些事情,然后用于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")
4

1 回答 1

0

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

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

于 2013-01-14T20:59:06.920 回答