[英]how to redirect to another page in MVC after Response.End()
在我的项目中,用户可以搜索学校学生的详细信息,并将其导出到Excel。 我正在使用OpenOfficeXMl
实现这一目标。 单击搜索按钮后,Excel将随数据一起下载。
excel下载完成后是否可以重定向到另一个页面。
我将数据分配给数据表,然后将其提取到excel,如下所示。
using (ExcelPackage pck = new ExcelPackage())
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("PData");
ws.Cells["A1"].LoadFromDataTable(p_data, true);
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=School-" + DateTime.Now + "-file" + ".xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
Response.End();
}
是否可以在Response.End()
之后执行return View()
或Redirect
?
编辑
下载excel后,我需要导航到另一个页面以显示在excel中导出的相同数据。 像return View(Data)
,其中Data
是IpagedList
对象
您不能将excel文件发送到响应,并且不能同时重定向。
在这种情况下,一种方法可能是简单地返回一个View,然后传递一个包含IpagedList以及pdf链接的视图模型。 无需重定向; 除非您之前的操作是POST。
然后,在显示的页面中,您可以显示IpagedList信息,以及他们可以单击下载excel文件的链接,甚至可以从jquery自动下载该文件,例如,通过打开一个新窗口,并指向pdf的URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.