MVC 在控制器 1 中完成一项工作后转到控制器 2

MVC after finishing a job in controller 1 go to controller 2

我有以下场景:我有一个网络应用程序,使用这个网络应用程序我可以创建一个简单的文档。我还有两个控制器:默认的 HomeController 和另一个 DocGenController。我想在 DocGenController 完成一项工作后 return 转到 DocGen.cshtml 页面。这时候我实现了一个正常的return:return View(../Home/DocGen.cshtml

但问题是:如果我使用 return View(../Home/DocGen.cshtml) 语句,它只会让我返回页面(案例 1)

如何到达案例 2?

您应该使用 RedirectToAction to redirect form one controller to another view/controller. Here 是使用带参数的重定向的答案。

代替return View("~/Views/Home/DocGen.cshtml")

尝试

return RedirectToAction("Index","Home");

RedirectToAction 方法将向客户端发送 302 响应,其中 /Home/Index 作为位置 header 值。客户端浏览器会为此url.

发出新的Http请求