2013-02-01 7 views
5

Ich benutze ASP.NET MVC 4, .NET 4.5. Gibt es neben dem Erstellen von individuellen Controllern für jede "Aktion" auch die Möglichkeit, "controllerlose" URLs zu verwenden?Möglich, "controllerlose" URLs mit ASP.NET MVC zu machen?

Was ich meine ist, haben einen Home-Controller mit Aktionen gefüllt. Urls wie:

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

  • site.com/About
  • Website werden .com/Kontakt

aber immer noch uns e der Heim-Controller.

Antwort

7

Sie können Routen definieren, die den Namen der Steuerung wie diese nicht enthalten:

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

Danke, das hat perfekt funktioniert: \t \t \t routes.MapRoute ( \t \t \t \t Name: "noController" , \t \t \t \t url: "{Aktion}/{id}", \t \t \t \t Standardwerte: neu {controller = "Home", action = "Index", ID = UrlParameter.Optional \t \t \t); – Chaddeus