2014-08-27 43 views
0

我有一個使用錯誤使用document.location.href

document.location.href 

將用戶重定向到一個新的控制器,返回文件的網頁下載文件時:

public ActionResult DownloadFile(string BillRef) 
     {return new DownloadFileActionResult(SessionManager.DataToDownload, SessionManager.DataNameToDownload, ExportFileType.CSV);} 

,但它不不起作用,應用程序返回到登錄頁面。

沒有例外(在Global.asax的Application_Error中都沒有)。

我已經測試過把該URL的彈出,而不是document.location.href,和它的作品,該文件下載:

window.open(urlRedirect); 

我想保持在當前選項卡中的文件下載和不使用彈出窗口。你有一個想法,我該怎麼做?

+0

PLZ在這裏發表的控制器動作代碼.. – 2014-08-27 10:39:57

+0

拋出:返回新DownloadFileActionResult(SessionManager.DataToDownload,SessionManager .DataNameToDownload,ExportFileType.CSV);是你需要的唯一行:-)調用者沒有被調用document.location.href(我把一個斷點,但他沒有hitten) – clement 2014-08-27 13:13:04

回答

0

而不是使用

document.location 

嘗試使用

window.location = urlRedirect; 

注意到,有些文件類型將不是一個下載提供線顯示,這是一個瀏覽器的事情,沒有什麼可以做在客戶端這方面。

+0

謝謝,但也有同樣的問題!它不起作用 – clement 2014-08-27 13:18:19

0

此代碼的工作完美,但我不知道爲什麼老workn't:

window.location.href