我有一个要填写的字符串字段不同的表单,下面有一个提交按钮。
控制器启动一本运行手册并返回结果-该结果可能需要一些时间,具体取决于运行手册的复杂性。我希望能够立即向用户报告运行簿是否成功启动,然后过一会儿返回状态和输出。
但是MVC只能返回一次视图。
我想实现类似的目的
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Submit(Dictionary<string, string> inputs)
{
//Start runbook and return job
var job = await _customAzureOperations.StartRunbook(_resourceGroup, _automationAccount, _runbookName, inputs);
//return view
if (job != null && job.Status == JobStatus.Completed)
{
TempData["JobStatus"] = "Success";
return View("Index");
//moving on.. HOW CAN I DO THIS?
var result = await _customAzureOperations.GetResultsFromJob(job); //this could take a while
TempData["JobResult"] = result;
return View("Index");
}
else
{
return View("Index", TempData["JobStatus"] = "Error"); //todo: show exception etc.
}
}
现在,控制器动作当然是没有意义的,因为您不能在返回后返回,但是希望您能看到我要去的地方:)如何在“ ”之前“报告” 返回视图?
谢谢