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请求
我有以下场景:我有一个网络应用程序,使用这个网络应用程序我可以创建一个简单的文档。我还有两个控制器:默认的 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.