我有一个按钮,当我点击时,我想要将几个CSV文件一起导出。但我不知道该怎么做。 (我有'Function1'和'Function2',当点击按钮时,我希望调用这两个函数,并且每个函数都生成一个CSV文件)
我有一些javascript代码来调用控制器中的函数:
$('#exportReport').click(function () {
var originalAction = document.forms[0].action;
if (originalAction.indexOf("CorporateProfile") !== -1) {
document.forms[0].action = "/web/admin/configurationreports/Function1";
//document.forms[1].action = "/web/admin/configurationreports/Function2";
document.forms[0].submit();
document.forms[0].action = originalAction;
}
return false;
});
所以当点击'exportReport'按钮时,我想在控制器中同时调用'Function1'和'Function2'
以下是'Function1'的外观:
[HttpPost]
public ActionResult Function1(ConfigurationReportsCorporateProfileViewModel viewModel)
{
//inside this I generate a CSV file
var bytes = encoding.GetBytes(stringBuilder.ToString());
return File(bytes, "text/csv", "function1.csv");
}
我也想调用'Function2',但我不知道该怎么做。 (它会像添加到javascript document.forms.action吗?)
答案 0 :(得分:1)
您需要压缩文件或提出2个请求。 见已经回答:https://stackoverflow.com/a/1060576/532772
答案 1 :(得分:0)
不确定是否可以返回多个文件。但是,我所做的是动态创建一个zip,将两个CSV文件添加到它并返回zip文件。这真的很容易。您可以使用ICSharpCode.SharpZipLib.Zip API。