作者:N个小灰流_701 | 2023-08-30 17:22
是否可以从控制器重定向到不同的视图?
例如,我的所有控制器都从一个自定义控制器继承,该控制器具有一个构造函数,如果不满足某些条件,我想将其重定向到不同的视图.希望有道理.
1> John Sheehan..:
您可以使用该RedirectToAction()
方法,然后您重定向到的操作可以返回视图.最简单的方法是:
return RedirectToAction("Index", model);
然后在Index方法中,返回所需的视图.
return View("ViewName");
@Craig - 返回View不进行重定向,URL最终与之前相同.所以,如果你在"/ edit/MyItem",那么返回View("showitem")会给你带有"/ edit /"url的"showitem"视图.根据您的情况,这可以工作,但并非总是如此.
@jeffrey,这是两个独立的步骤:在第一个动作中重定向,如John所说,然后在第二个动作中返回View.第一个动作不能(直接,无论如何)告诉第二个使用哪个视图.
2> 小智..:
if (true)
{
return View();
}
else
{
return View("another view name");
}
这使用相同的控制器Action.RedirectToAction调用不同的操作.这对我来说是最简单的解决方案.