2009-07-20 9 views
0

Wenn Sie die Art ändern wollten, wie Routen verarbeitet wurden, können Sie das in einem MVC-Projekt tun OR müssen Sie das MVC Framework ändern?ASP.NET MVC-Anpassung - Erben oder ändern Framework

Zum Beispiel können sagen, dass Sie den Standardcode in RegisterRoutes von Global.asax.cs haben:

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

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

} 

Aber können sagen, was Sie wollen wirklich passieren wird Ihre benutzerdefinierte Klasse abfangen alle eingehenden Anfragen haben und leite sie auf eine besondere Art und Weise. Kann dies mit via Inheriting aus einer MVC-Framework-Klasse und Customizing geschehen, oder muss der Framework-Code tatsächlich geändert werden?

Antwort

5

Erweitern, Sie müssen nur benutzerdefinierte RouteHandler schreiben.

Blick auf:

ASP.NET MVC, Manipulating URL Structure

Developing Custom RouteHandler

Oder planety andere auf dem Netz.

EDIT:

Sie können mehr tun, auch durch RouteBase erstreckt und es zu Routen hinzufügen.

+0

+1 Dann, wie sagen Sie Ihrem MVC-Projekt, um Ihre benutzerdefinierte anstelle des Standards zu verwenden, ist dies eine Web.config-Sache? – BuddyJoe

+1

Hier finden Sie Beispiel: http://stackoverflow.com/questions/755579/asp-net-mvc-manipulating-url-structure –

+0

Mike, diese werden gut funktionieren, um mir einen Start zu geben. Vielen Dank. – BuddyJoe