在我的項目中,我找到了一個爲所選產品創建訪客用戶的頁面。 基本上,您可以告訴應用程序爲您選擇的每種產品創建多少個用戶。重定向到新動作後傳輸文件
當您點擊'保存'時,我生成客人,將他們的用戶名和密碼(在加密之前)保存在我在過程結束時傳輸的csv文件中,最後將用戶重定向到索引頁。
的問題發生在文件傳輸和隨後重定向到一個新的動作:
Private Sub DownloadCsv(ByVal csv As List(Of String), ByVal filename As String)
Dim sb As New StringBuilder()
For Each Str As String In csv
sb.AppendLine(Str)
Next
' Clear any previous response
Response.Clear()
' Indicate we're returning a CSV file
Response.ContentType = "text/csv"
' Provide filename for download
Response.AddHeader("content-disposition", "attachment;filename=" & filename & ".csv")
' Write actual CSV data
Response.BinaryWrite(Encoding.ASCII.GetBytes(sb.ToString()))
End Sub
而在我的動作,我把這種方法DownloadCsv然後我重定向到索引像這樣:
Return (RedirectToAction("GroupIndex"))
發生什麼事情是將文件傳輸到瀏覽器的頁面,並且從不執行隨後的重定向。 我在這件事上看了一會兒,發現一旦你給我們的Response對象添加一個Header並寫一個文件,它就會自動關閉Response。如果我錯了,請糾正我。
在用戶保存或取消文件下載之後,用戶被重定向到索引或重定向到索引後,如何才能傳輸此文件?