2012-04-27 82 views
5

Quiero redirigir a otra acción en el mismo controlador. ¿cómo podemos lograr esto? intenté como devolucióncómo redirigir a otra acción en el mismo controlador?

RedirectToAction ("NotAuthorized");

+0

Esa es la manera correcta, ¿qué no funcionó? –

+0

¿A dónde llamas esta redirección? –

+0

¿Aparece un mensaje de error? – Brandon

Respuesta

5
return RedirectToAction("ActionName"); 

En lugar de hacer esto return Redirect("/Elearning/NotAuthorized");:

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

o

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

he intentado en ambos sentidos pero el problema todavía está persisto .. – dinesh

1

Trate

return RedirectToAction("SomeAction"); 
+0

intenté como regresar RedirectToAction ("SomeAction"); – dinesh

+0

¿existe la acción? – itsmatt

+0

¿Qué falla aquí? ¿Realmente existe la Vista que intentas devolver? – itsmatt

1

Si desea devolver un redireccionamiento

return RedirectToAction("NotAuthorized"); 

es la forma válida de hacerlo. Asegúrate de que tu método realmente exista.

Como alternativa, si no desea que una redirección

return View("NotAuthorized"); 

funciona tan bien.

+0

retorno RedirectToAction ("NotAuthorized"); public ActionResult NotAuthorized() { int userId = GetCurrentUserID(); así es como escribo en el controlador. ViewBag.ViewList = _menuViewUtility.GetViewList (userId); ViewBag.MenuList = _menuViewUtility.GetMenuList (userId, ViewSession.ViewId); return Ver(); } – dinesh

-1

Estoy usando asp.net MVC 3 y esto funciona: return Redirect("/{VIEWPATH}/{ACTIONNAME}");.

Ejemplo, return Redirect("/account/NotAuthorized"); donde 'cuenta' es su ruta de vista y su nombre de controlador es AccountController. Espero que esto ayude.

Cuestiones relacionadas