2012-06-04 32 views
5

Intento encontrar la mejor manera de aterrizar la página y me gustaría que mi url fuera así.ASP.NET MVC 3 Landing Page

  • www.myweb.com < === página de destino
  • www.myweb.com/Home < === página inicial

Entonces se me ocurrió esto.

routes.MapRoute(
    "Landing", 
    "", 
    new { controller = "Home", action = "Landing" } 
); 

routes.MapRoute(
    "Home", 
    "Home", 
    new { controller = "Home", action = "Index" } 
); 

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

El primero de ellos es (Landing) es hacer www.myweb.com redirigir a View/Home/Landing.cshtml. El segundo (Home) es hacer que mke www.myweb.com/Home redirija a View/Home/Index.cshtml.

Me gustaría preguntar si hay formas mejores que esta? o esto está bien? Gracias por su consejo.

+0

no veo ningún problema con esto. Vos si ? – Shyju

Respuesta

3

Me parece bien. Una cosa menor es que la segunda regla es redundante. Si lo deja de lado por completo, la tercera regla lo cubrirá: /Inicio se asigna a él, con Índice es la acción predeterminada.

+0

Ambas reglas principales son redundantes. –

+0

@Dmitry No creo que la primera regla sea redundante, ¿o sí? Sin él, la raíz ** www.myweb.com ** se dirigiría a/Home/Index en lugar de/Home/Landing. – McGarnagle

+0

Tienes razón, no me di cuenta de que era una acción diferente. –