Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 将参数发送到ActionResult方法并返回一个文件-asp.net mvc 3?_Json_Asp.net Mvc 3_File - Fatal编程技术网

Json 将参数发送到ActionResult方法并返回一个文件-asp.net mvc 3?

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,提前谢谢 编辑 我想有一种方法可以在不

我试图制作一个页面,当点击按钮时,文件开始下载。我遇到的问题是,我想向返回文件的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,但我想看看你做了什么。是否有电子邮件地址或我可以发送到的东西?我个人资料中的电子邮件有效,谢谢。我在那里没有看到电子邮件地址。我认为这对我没有帮助,因为我没有试图返回静态文件,我正在尝试根据发送给控制器的参数生成文件。除非我能为我生成的每个文件生成一个新的文件路径。我真的不想做那样的事。