2008-11-11 20 views
7

Estoy tratando de diseñar una página de inicio para un sitio de MVC que tiene dos vistas diferentes, según si el usuario está conectado o no.ASP.NET MVC una ruta, dos vistas diferentes

Por lo tanto, la imagen de la vista predeterminada (no iniciada) muestra información general no específica. Si estoy conectado, la vista muestra en su mayoría cosas personales.

¿Cuál es la mejor práctica para manejar esto? No lo olvides, también necesitamos probarlo unitariamente.

Gracias montones!

Respuesta

13

Esto debería ser un caso simple de devolver la vista apropiada desde su controlador.

public ActionResult Index() 

    If (User.IsLoggedOn) 
    { 
     // Do user-specific controller stuff here... 

     return View("LoggedOnIndex"); 
    } 
    else 
    { 
     // Do anon controller stuff here... 

     return View("AnonymousIndex"); 
    } 
+0

¿Serio? Maldita sea, ¡eso es simple! Estaba pensando en una vista con lógica dividida (que me asustaba muchísimo). Bonito y limpio. ¡Increíble! –

2

no estoy seguro de si se pudiera hacer

User.IsloggedOn

en el pasado, pero ahora tengo que decir

User.Identity.IsAuthenticated

si está utilizando el incorporado En la autenticación de formularios web.

Cuestiones relacionadas