我有一个方法,它返回一个ActionResult,它将一个文本文件返回给浏览器。我想从项目中的另一个控制器调用它并将文件保存到服务器。我怎样才能做到这一点?感谢
添加了编辑失败尝试的示例。
示例:
public ActionResult ReportX()
{
// stuff
return ExportGridView("my name", vModel.ReportParameters, vModel.Records, "", "other name");
}
attempt:
Controllers.SampleController bdc = new Controllers.SampleController();
FileStreamResult res = new FileStreamResult(bdc.ReportX(),"");
res = (FileStreamResult)bdc.ReportX();
attempt:
Controllers.SampleController bdc = new Controllers.SampleController();
FileStreamResult res = (FileStreamResult)bdc.ReportX();
更多代码:
public ActionResult ExportGridView(string exportType, ReportParameters reportParams, object data, string excludedColumns = "", string fileNameReplacement = "")
{
//stuff
result = (System.Web.Mvc.FileResult)GridViewExtension.ExportToCsv(gvs, data, fileName, true, csvOpt);
return result;
}
答案 0 :(得分:0)
DevExpress ExportToCsv 方法返回一个actionresult。我不想尝试以其他方式重新格式化数据。自定义格式已在我们的包装器中完成。问题是我需要部分视图才能使导出网格正常工作。我没有意识到,因为我从另一个控制器调用ReportX 方法,我需要创建另一个包装器函数来获取正确的局部视图,以便DevExpress魔法可以工作。感谢您的帮助@ADyson