[英]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.