javascript - 我可以从 mvc 中的一个操作方法一次返回两个结果吗?

标签 javascript c# asp.net-mvc

假设我有一个旨在返回 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/

相关文章:

javascript - Chai 断言未在 JSDOM Env block 内执行

javascript - 捕获 ES6 promise 中的错误

c# - 表没有主键

c# - 如何将 URL 地址连接到图像

c# - SharePoint Online - 通过 CSOM 应用程序更新用户配置文件属性

javascript - 如何在 firestore 中离线读取文档并写入(在线和离线)?

asp.net-mvc - 将 ASP.NET Webforms url 转换为 MVC 路由

c# - 使Elasticsearch变音符号不敏感

asp.net-mvc - 在ASP.Net MVC的 View 中获取 Controller 的名称和操作方法

javascript - 如何在动态内容中显示垂直中间广告(窗口高度 50%)