2011-12-15 31 views
2

我的MVC3網站下載.txt文件給用戶。我想讓我的控制器的下載方法聯繫業務邏輯層,然後執行下載,然後重定向到一個新視圖,以宣佈成功下載。問題是我可以返回一個視圖或文件,但不能同時返回。如何返回File()ActionResult以及View()?

[HttpPost] 
    public ActionResult Download(FormCollection collection) 
    { 

      //Contact BLL no problem 

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

我很高興能有所不同,任何建議,將不勝感激!

回答

0

HTTP無法做到這一點。

取而代之,僅返回視圖,並在重定向到下載的視圖中放置一個<meta http-equiv="refresh">標記。

+1

我很感激幫助。這種方法很簡單,但不推薦使用。我使用JavaScript結束了。 – user1100737 2011-12-16 23:02:24

1

您需要提供一個具有到文件下載操作的HTML鏈接的查看頁面,或者一個帶有分配給文件下載操作的src標記的嵌入式IFrame。

相關問題