0

我正在尝试制作一个页面,当单击按钮时文件开始下载。我遇到的问题是我想将参数发送到返回文件的 ActionResult 方法,但是当我尝试使用 post 发送 JSON 或调用 ActionResult 方法但文件没有发送到浏览器以进行下载时. 如果我输入该控制器方法的链接,则文件下载正常。我不能只拥有文件的链接,因为我需要根据网页上选择的选项动态更改文件。

我觉得我可能以错误的方式攻击这个,任何煽动都会有所帮助。

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

编辑 我想有一种方法可以在没有 JSON 的情况下将参数发送到操作结果,只需使用 JavaScript,我认为这也可以帮助我解决我的问题,但我不知道该怎么做。

4

1 回答 1

0

您可以file pathjson响应中返回,然后重定向到该路径,例如

$.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});
}
于 2012-05-11T15:42:39.870 回答