我正在尝试创建一个页面,当单击按钮时,文件开始下载。我遇到的问题是我想将参数发送到返回File的ActionResult方法,但是当我尝试使用post发送JSON或者获取ActionResult方法时会调用但是文件没有被发送到浏览器以进行下载。如果我输入指向该控制器方法的链接,则文件下载正常。我不能只有一个文件的链接,因为我需要动态更改文件,具体取决于在网页上选择的选项。
我感觉我可能会以错误的方式攻击这个,任何煽动都会有所帮助。
我正在使用Asp.net MVC 3和Jquery,先谢谢。
修改 我想有一种方法可以将params发送到没有JSON的动作结果,只需使用JavaScript,我认为这也可以帮助我解决我的问题,但我不知道该怎么做。
答案 0 :(得分:0)
您可以在file path
响应中返回json
,然后重定向到该路径,如
$.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});
}