2012-05-11 34 views
0

我試圖做一個頁面,當一個按鈕被點擊時,一個文件開始下載。我遇到的問題是我想發送參數到我的ActionResult方法返回文件,但是當我嘗試發送JSON與帖子或獲取調用ActionResult方法,但該文件不會被髮送到瀏覽器下載。如果我輸入該控制器方法的鏈接,則文件可以正常下載。我不能只是鏈接到文件,因爲我需要根據網頁上選擇的選項來動態更改文件。發送參數到ActionResult方法並返回一個文件 - asp.net mvc 3?

我感覺我可能會以錯誤的方式攻擊,任何煽動都會有幫助。

我使用Asp.net MVC 3和Jquery,在此先感謝。

編輯 我想有一個的方式發送到PARAMS一個動作的結果,而不JSON,只是用JavaScript,我認爲這會幫助我解決我的問題太多,但我不知道該怎麼做。

+0

你必須使用JSON。幾天前我做了類似的事情,我有代碼但沒有使用JSON? –

+0

我更喜歡爲這個項目使用JSON,但我想看看你做了什麼。 –

+0

是否有電子郵件地址或我可以發送給的地址? –

回答

0

可以在json響應返回file path,然後重定向到該路徑像

$.post("",{data:yourData,function(data){ 

if(data.filepath!='') 
location.href=data.filepath;//this will force the browser download dialogue 
}}); 

控制器

public ActionResult GetFile(/*params*/){ 
//your code 
var filepath="some path"; 
return Json(new { filepath=filepath}); 
} 
+0

我不認爲這對我有幫助,因爲我沒有試圖返回一個靜態文件,我試圖根據發送給控制器的參數生成文件。除非我能以某種方式爲我生成的每個文件生成一個新的文件路徑。我真的不想做那樣的事情。 –

相關問題