2012-04-27 11 views
5

Voglio reindirizzare a un'altra azione nello stesso controller. come possiamo ottenere questo? ho provato come restituirecome reindirizzare a un'altra azione nello stesso controller?

RedirectToAction ("NotAuthorized");

+0

Questa è la strada giusta, cosa non ha funzionato? –

+0

Dove stai chiamando questo reindirizzamento? –

+0

Stai ricevendo un messaggio di errore? – Brandon

risposta

5
return RedirectToAction("ActionName"); 

Invece di return Redirect("/Elearning/NotAuthorized"); fare questo:

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

o

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

ho provato in entrambi i modi, ma problema è ancora persistono .. – dinesh

1

Prova

return RedirectToAction("SomeAction"); 
+0

ho provato a restituire RedirectToAction ("SomeAction"); – dinesh

+0

esiste l'azione? – itsmatt

+0

Cosa fallisce qui? Esiste effettivamente la vista che stai cercando di restituire? – itsmatt

1

Se si desidera restituire un reindirizzamento

return RedirectToAction("NotAuthorized"); 

è il modo valido per farlo. Assicurati che il tuo metodo esista effettivamente.

In alternativa, se non si desidera un reindirizzamento

return View("NotAuthorized"); 

funziona pure.

+0

ritorno RedirectToAction ("NotAuthorized"); public ActionResult NotAuthorized() { int userId = GetCurrentUserID(); questo è come scrivo in controller .. ViewBag.ViewList = _menuViewUtility.GetViewList (userId); ViewBag.MenuList = _menuViewUtility.GetMenuList (userId, ViewSession.ViewId); return view(); } – dinesh

-1

Sto usando asp.net MVC 3 e questo funziona: return Redirect("/{VIEWPATH}/{ACTIONNAME}");.

Esempio, return Redirect("/account/NotAuthorized"); dove "account" è il percorso della vista e il nome del controller è AccountController. Spero che questo ti aiuti.

Problemi correlati