2012-04-27 74 views
5

我想重定向到同一個控制器中的另一個動作。 我們該如何做到這一點? 我試過像返回如何重定向到同一控制器中的另一個動作?

RedirectToAction(「NotAuthorized」);

+0

這是正確的方式,什麼都行不通? – 2012-04-27 15:59:37

+0

你在哪裏打電話給這個重定向? – 2012-04-27 16:05:00

+0

您是否收到錯誤訊息? – Brandon 2012-04-27 16:06:41

回答

5
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 
+0

我嘗試了兩種方式,但問題仍然存在.. – dinesh 2012-04-27 16:31:06

1

嘗試

return RedirectToAction("SomeAction"); 
+0

我試圖像返回RedirectToAction(「SomeAction」); – dinesh 2012-04-27 16:01:35

+0

這個動作是否存在? – itsmatt 2012-04-27 16:02:34

+0

這裏失敗了嗎?你試圖返回的視圖是否真的存在? – itsmatt 2012-04-27 16:07:13

1

如果你想返回重定向

return RedirectToAction("NotAuthorized"); 

是執行此操作的有效方法。確保你的方法確實存在。

或者,如果你不想重定向

return View("NotAuthorized"); 

工作爲好。

+0

return RedirectToAction(「NotAuthorized」); public ActionResult NotAuthorized() { int userId = GetCurrentUserID();這是我如何在控制器中編寫的.. ViewBag.ViewList = _menuViewUtility.GetViewList(userId); ViewBag.MenuList = _menuViewUtility.GetMenuList(userId,ViewSession.ViewId); return View(); } – dinesh 2012-04-27 16:03:35

-1

我使用的是asp.net MVC 3,它的工作原理如下:return Redirect("/{VIEWPATH}/{ACTIONNAME}");

例如,return Redirect("/account/NotAuthorized");其中'account'是您的視圖路徑,您的控制器名稱是AccountController。希望這可以幫助。

相關問題