2010-07-06 17 views
5

Chcę obiekt, który jeśli logowania użytkownika, a następnie udaje się do domu/indeksprzekierować do ActionResult w MVC, ale nie chcą, aby przejść do strony przez widoku Powrót()

nie chcę używać

return view('~/views/home/index'); 

Chcę przekierować go do indeksu dynamicznego działania kontrolera domowego mojej aplikacji internetowej (w asp.net mvc)

jak mogę to zrobić bez widoku powrotu(); Chcę go przekierować.

public actionresult login 

if(userlogin) 
{ 
// goes to index page ? what i do here then user goes to index page of home controller 
} 
else 
{ 
return view() 
} 
+0

BTW, jeśli stworzony projekt MVC za pomocą szablon projektu w Visual Studio, powinien on już dla Ciebie wygenerować kontroler konta. Nawet jeśli zdecydujesz się go nie używać, zademonstruje on takie rzeczy, które możesz wykorzystać. (Ponieważ odpowiedź Darina brzmi dokładnie tak, jak to robi ...) – GalacticCowboy

Odpowiedz

18

Można przekierować:

return RedirectToAction("index"); 

i jeśli akcja jest na innym kontrolerze określić nazwy kontrolera, a także:

return RedirectToAction("index", "home"); 
+0

użyłem powrotu Redirect ("/ home/index"); –

+2

To nie jest dobre, ponieważ zakodowujesz trasę '/ home/index' oraz dzień modyfikacji reguł trasy, która Cię ugryzie. –

+2

Plus, * Zwróć przekierowanie ("/ home/index"); * nie powiedzie się zaraz po uruchomieniu w usłudze vroot. Przynajmniej wpierw wpisz go "~", chociaż wykonanie opcji * RedirectToAction() *, jak zauważył Darin, jest znacznie lepsze. – GalacticCowboy

Powiązane problemy