【发布时间】:2012-12-30 02:20:15
【问题描述】:
我想通过在MVC下使用带有一些参数的jQuery AJAX调用来提供文件下载操作
例子
(javascript)
function DoDownload(startDate) {
$.ajax({
url:"controller/GetFile/",
data: {startDate:startDate}
...
});
}
C# Controller Code
public void GetFile(string startDate) {
var results = doQueryWith(startDate);
// Create file based on results
....
// How do I tell the server to make this a file download??
}
我通常只会让我的文件下载一个链接,例如:
<a h r e f="mycontroller/getfile/1"/>Download</a>
但在上述情况下,日期将是动态的。
如果我不使用 ajax,使用 javascript 将参数传递给 MVC 控制器的首选方法是什么?
例子:
window.location = "mycontroller/GetFile/" + $("#fromDate").val();
假设日期是 12-25-2012
这会产生吗
mycontroller/GetFile/12/25/2012
MVC 会将其视为三个参数吗?
【问题讨论】:
-
您的问题的答案可以在 [this][1] 链接中找到。 [1]:stackoverflow.com/questions/5826649/…
-
除非您需要一个“可破解”的 URL,否则我不确定您是否需要这样做。只需将日期作为参数传递给控制器方法,然后使用建议的 FileResult 实现。您可能使这变得比需要的更难?
标签: c# ajax asp.net-mvc