Json 将参数发送到ActionResult方法并返回一个文件-asp.net mvc 3?
我试图制作一个页面,当点击按钮时,文件开始下载。我遇到的问题是,我想向返回文件的ActionResult方法发送参数,但当我尝试使用post或get发送JSON时,会调用ActionResult方法,但不会将文件发送到要下载的浏览器。如果我键入指向该控制器方法的链接,文件将正常下载。我不能只是有一个指向文件的链接,因为我需要根据网页上选择的选项动态更改文件 我觉得我可能是用错误的方式攻击它,任何煽动都会有帮助 我正在使用Asp.NETMVC3和Jquery,提前谢谢 编辑Json 将参数发送到ActionResult方法并返回一个文件-asp.net mvc 3?,json,asp.net-mvc-3,file,Json,Asp.net Mvc 3,File,我试图制作一个页面,当点击按钮时,文件开始下载。我遇到的问题是,我想向返回文件的ActionResult方法发送参数,但当我尝试使用post或get发送JSON时,会调用ActionResult方法,但不会将文件发送到要下载的浏览器。如果我键入指向该控制器方法的链接,文件将正常下载。我不能只是有一个指向文件的链接,因为我需要根据网页上选择的选项动态更改文件 我觉得我可能是用错误的方式攻击它,任何煽动都会有帮助 我正在使用Asp.NETMVC3和Jquery,提前谢谢 编辑 我想有一种方法可以在不
我想有一种方法可以在不使用JSON的情况下将参数发送到操作结果,只需使用JavaScript,我认为这也可以帮助我解决问题,但我不确定如何做到这一点 您可以在
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});
}
你必须使用JSON吗。几天前我做了类似的事情,我有代码,但没有使用JSON?我更喜欢在这个项目中使用JSON,但我想看看你做了什么。是否有电子邮件地址或我可以发送到的东西?我个人资料中的电子邮件有效,谢谢。我在那里没有看到电子邮件地址。我认为这对我没有帮助,因为我没有试图返回静态文件,我正在尝试根据发送给控制器的参数生成文件。除非我能为我生成的每个文件生成一个新的文件路径。我真的不想做那样的事。