2010-07-06 10 views
5

quiero una facilidad que si la conexión del usuario y luego va a la casa/indexredirigir a un ActionResult en MVC, pero no quiero ir a la página de vista de retorno()

yo no quiero usar

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

Quiero redirigirlo a un índice de resultado de acción del controlador del hogar de mi aplicación web (en asp.net mvc)

cómo puedo hacer esto sin return view(); quiero redirigirlo.

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

Por cierto, si creó el proyecto de MVC mediante el plantilla de proyecto en Visual Studio, ya debería haber generado el controlador de cuenta para usted. Incluso si elige no usarlo, demostraría cosas como esta que podría usar. (Dado que la respuesta de Darin es exactamente lo que hace ...) – GalacticCowboy

Respuesta

18

puede redirigir:

return RedirectToAction("index"); 

y si la acción es en un controlador diferente especificar el nombre del controlador, así:

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

utilicé el redireccionamiento de retorno ("/ home/index"); –

+2

Eso no es bueno ya que está codificando la ruta '/ home/index' y el día que modifique las reglas de su ruta, lo morderá. –

+2

Además, * return Redirect ("/ home/index"); * falla tan pronto como se ejecuta en un vroot. Al menos precede con un "~", aunque haciendo * RedirectToAction() *, como señaló Darin, es mucho mejor. – GalacticCowboy

Cuestiones relacionadas