2012-06-04 22 views
5

Cerco di trovare il modo migliore per la pagina di destinazione e vorrei che il mio url fosse così.ASP.NET MVC 3 Landing Page

  • www.myweb.com < === pagina di destinazione
  • www.myweb.com/Home < === pagina

Poi sono arrivato fino a questo.

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 } 
); 

Il primo è (Landing) è quello di rendere www.myweb.com reindirizzare View/Home/Landing.cshtml. Il secondo (Home) è quello di mke www.myweb.com/Home reindirizza a View/Home/Index.cshtml.

Mi piacerebbe chiedere ci sono modi migliori di questo? o questo va bene? Grazie per il vostro consiglio.

+0

non vedo alcun problema con questo. Fai ? – Shyju

risposta

3

Mi sembra buono. Una cosa secondaria è che la seconda regola è ridondante. Se la lasci completamente fuori, la terza regola la coprirà: /Home mappe ad esso, con L'indice è l'azione predefinita.

+0

Entrambe le regole principali sono ridondanti. –

+0

@Dmitry Non penso che la prima regola sia ridondante, vero? Senza di esso, la root ** www.myweb.com ** si dirigerebbe verso/Home/Index invece di/Home/Landing. – McGarnagle

+0

Hai ragione, non mi rendevo conto che si trattava di un'azione diversa. –