2016-04-18 17 views
0

Wir haben eine große Webanwendung, die eine Mischung aus WebForms und MVC ist. Die URLs, mit denen wir arbeiten, sehen so aus: www.something.com/Secure/Module/SomeAction. Als wir mit Webforms gearbeitet haben, war das Modul ein Ordner, da wir so viele ASPXs hatten, wie wir in diesem Ordner brauchten. Mit MVC verfolgen wir einen ähnlichen Ansatz, bei dem Module in einen Controller übersetzt werden, der die gesamte Aktion enthält. Das Problem, auf das wir stoßen, ist, dass wenn das Modul ungefähr 20 - 30 Aktionen hat, es sehr unordentlich wird. Zum Beispiel, wenn wir einen PersonReport haben, der sich in der Regel in mehrere Aktionen übersetzt, die nur diesem Bericht dienen (um AJax-Aufrufe zu erleichtern). Unsere Aktionen sind ziemlich dünn, sie bevölkern das Modell (normalerweise ruft WCF-Dienste) und das ist es. Nichtsdestoweniger kann es leicht bis zu 1500 Zeilen Code kriechen, und wir fangen an, Regionen zu verwenden, um Teile des Controllers zu organisieren. Das Erstellen eines neuen Controllers (standardmäßig) wird offensichtlich von unserem URL-Muster abweichen. Irgendwelche Vorschläge, wie man dieses Durcheinander besser organisiert?Organisieren (Teilen?) Controller, während URL beibehalten wird

Antwort

0

Sie können Routing-Attribut verwenden, wenn Sie 5. MVC verwenden möchten erlauben Dadurch werden Sie eigene Routen für jede Aktion Methode mit dem Attribut

Die vorherigen Versionen können Sie überschreiben die Standard-Routen durch RouteConfig.cs-Datei angeben . Beispiel würde

routes.MapRoute(
    name: “ProductPage”, 
    url: “{productId}/{productTitle}”, 
    defaults: new { controller = “Products”, action = “Show” }, 
    constraints: new { productId = “\\d+” } 
); 

dieses link für weitere Informationen angezeigt. Hoffe, das hilft.

Verwandte Themen