如何重定向到同一控制器中的另一个动作?

Posted

技术标签:

【中文标题】如何重定向到同一控制器中的另一个动作?【英文标题】:how to redirect to another action in same controller? 【发布时间】:2012-04-27 15:57:10 【问题描述】:

我想重定向到同一控制器中的另一个动作。 我们怎样才能做到这一点? 我试过像 return

RedirectToAction("未授权");

【问题讨论】:

这是正确的方法,什么没用? 你在哪里调用这个重定向? 您是否收到错误消息? 向您的问题添加更多代码。 【参考方案1】:
return RedirectToAction("ActionName");

代替return Redirect("/Elearning/NotAuthorized"); 这样做:

return RedirectToAction("NotAuthorized"); // if you're inside the Elearning controller

RedirectToAction("NotAuthorized", "Elearning"); // if calling from other controller

【讨论】:

【参考方案2】:

试试

return RedirectToAction("SomeAction");

【讨论】:

这里出了什么问题?您尝试返回的视图是否真的存在? 你的视图也存在我可以去那个视图 这里有什么错误?我们需要知道错误以帮助您。 我尝试在执行该语句后放置调试器,它只会返回到以前的视图 if (so.Count == 0) return Redirect("/Elearning/NotAuthorized"); 【参考方案3】:

如果你想返回一个重定向

return RedirectToAction("NotAuthorized");

是执行此操作的有效方法。确保您的方法确实存在。

或者,如果您不想要重定向

return View("NotAuthorized");

同样有效。

【讨论】:

return RedirectToAction("NotAuthorized");公共 ActionResult NotAuthorized() int userId = GetCurrentUserID();这就是我在控制器中编写的方式.. ViewBag.ViewList = _menuViewUtility.GetViewList(userId); ViewBag.MenuList = _menuViewUtility.GetMenuList(userId, ViewSession.ViewId);返回视图(); 【参考方案4】:

尝试先探索 ControllerBase,或者转到控制器继承的控制器的定义,然后查找“重定向”

【讨论】:

【参考方案5】:

我正在使用 asp.net MVC 3,它可以工作:return Redirect("/VIEWPATH/ACTIONNAME");

例如,return Redirect("/account/NotAuthorized"); 其中“帐户”是您的视图路径,您的控制器名称是 AccountController。希望这会有所帮助。

【讨论】:

以上是关于如何重定向到同一控制器中的另一个动作?的主要内容,如果未能解决你的问题,请参考以下文章

如何重定向到codeigniter中的另一个函数?

.NET Core 重定向到同一解决方案下另一个项目中的控制器

从一个区域的动作重定向到“根”区域中的动作?

执行IF条件时如何重定向到ReactJS中的另一个页面?

如何在提交表单时将结果重定向到React中的另一个页面

输出消息后如何使用标头重定向到php中的另一个页面?