MVC:导出到 excel 后,未调用索引操作结果

MVC: after export to excel, index action result is not getting called

我有一个 MVC 应用程序,其中提供了导出到 excel 功能。我想在导出完成后重定向索引操作。我写了下面的代码,但它没有重定向到索引操作。我在这里错过了什么?

output = new MemoryStream();
workbook.Write(output);
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", "DailyCashList.xls"));
Response.Clear();
Response.BinaryWrite(output.GetBuffer());
Response.Flush();
Response.End();

return this.RedirectToAction("Index");

恐怕你不能那样做,一旦你发送了 header 用于下载,你就不能再发送另一组 header 来进行重定向。

此博客 post 中提到了一项技术,您可以更改它以在下载操作中出现 cookie 时进行重定向。

http://gruffcode.com/2010/10/28/detecting-the-file-download-dialog-in-the-browser/

它并不完美,但这恐怕是http协议的局限之一