如何返回File()ActionResult以及View()?

时间:2011-12-15 21:12:00

标签: asp.net-mvc-3

我的MVC3网站将.txt文件下载到用户。我希望我的控制器的Download方法联系业务逻辑层,然后执行下载,然后重定向到将宣布成功下载的新视图。问题是我可以返回视图或文件,但不能同时返回。

[HttpPost]
    public ActionResult Download(FormCollection collection)
    {

            //Contact BLL no problem

            return File(Encoding.ASCII.GetBytes("Testing"), "text/plain", "Test.txt");
            //OR
            return RedirectToAction("OtherActionWithOtherView");
    }

我很高兴以不同的方式解决这个问题;任何建议将不胜感激!

2 个答案:

答案 0 :(得分:1)

您需要提供一个View页面,其中包含指向文件下载操作的HTML链接或带有分配给文件下载操作的src标记的嵌入式IFrame。

答案 1 :(得分:0)

HTTP无法做到这一点。

相反,只返回视图,并在视图中添加<meta http-equiv="refresh">标记,重定向到下载。