假设我有一个旨在返回 excel 文件的 Controller 操作,但同时我也需要从相同的方法中抛出一个 View 。 IE。我还需要返回 excel 并返回到 UI,以确认 excel 已导出或其他内容
public ActionResult ExportReports(string pickProg, string stateKey, string key, string nextUrl, string pageMode, string prntopt)
{
ExcelExportCriteria excelExportCriteria = new ExcelExportCriteria()
{
PickProg = pickProg,
StateKey = stateKey,
Key = key,
nexturl = nextUrl,
PageMode = pageMode,
prntopt = prntopt
};
ExcelExportModel exportModel = Sagitta.Domain.Model.AMSTransfer.ExcelExport.ExportReports(excelExportCriteria);
if (exportModel.HasQuery == false)
{
//Below Returns File, I want result on view as well with this
return ExportFileContent(exportModel.OutputResults.OutputXML, exportModel.OutputResults.DataFile);
//return Json(exportModel, JsonRequestBehavior.AllowGet);
}
else
{
return new HttpStatusCodeResult((int)HttpStatusCode.InternalServerError);
}
}
另一个要注意的是:如果还需要脚本,我希望它以纯 javascript 方式使用,因为请求来自 .asp 页面并且正在使用 vbscript 和 javascript。
最佳答案
Can I return two results at a time from one action method in mvc?
没有。但是您可以在( View )模型中返回一个具有多个值的 ActionResult
。
因为任何一个 HTTP 请求只能有一个响应。
我建议您返回状态 View ,并让他们的状态 View 启动 Excel 文件的下载。
关于javascript - 我可以从 mvc 中的一个操作方法一次返回两个结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46275116/