2013-02-01 5 views
5

Sto usando ASP.NET MVC 4, .NET 4.5. In ogni caso, oltre a creare singoli controller per ogni "azione", avere URL "senza controller"?È possibile creare URL "controllless-less" con ASP.NET MVC?

Quello che voglio dire è avere un Home controller pieno di azioni. URL come:

  • site.com/Home/About
  • site.com/Home/Contact

diventare

  • site.com/About sito
  • .com/Contatti

ma ancora noi e il controller Home.

risposta

7

È possibile definire percorsi che non contengono il nome del controller in questo modo:

routes.MapRoute(
    "About",          // Route name 
    "About/",          // URL with parameters 
    new { controller = "Home", action = "About" } // Parameter defaults 
); 

routes.MapRoute(
    "Contact",          // Route name 
    "Contact/",          // URL with parameters 
    new { controller = "Home", action = "Contact" } // Parameter defaults 
); 
+0

Grazie, questo ha funzionato perfettamente: \t \t \t routes.MapRoute ( \t \t \t \t nome: "NoController" , \t \t \t \t url: "{action}/{id}", \t \t \t valori predefiniti \t: nuovo {controller = "Casa", azione = "Indice", id = UrlParameter.Optional} \t \t \t); – Chaddeus