我有一个返回csv文件的控制器。我希望在显示此操作后重定向到某个操作,即返回到主视图。 控制器逻辑如下所示:
public ActionResult DownloadCSV(string fileName)
{
string csv;
using (StreamReader sr = new StreamReader(fileName))
{
csv = sr.ReadToEnd();
}
return File(new System.Text.UTF8Encoding().GetBytes(csv), "text/csv", "Export.csv");
}
答案 0 :(得分:5)
简短版本是由于HTTP限制,您无法强制执行文件下载和重定向。但您可以使用window.open
打开文件下载操作来强制下载。
示例:强>
<a href="Action/RedirectPage" data-file="Action/DownloadCVS" class="file-download">Download File</a>
<script>
$(function() {
$('a.file-download').click(function() {
window.open($(this).data('file'));
});
});
</script>
在这种情况下,我使用了HTML5属性,但你并不局限于这样做。