Es ist wirklich egal, aber es gibt einen Grund, warum ich die Controller in einer DLL-Datei will.MVC 3: Darf ich die Controller in einer DLL platzieren?
Darf ich das in einem MVC-Projekt tun?
Es ist wirklich egal, aber es gibt einen Grund, warum ich die Controller in einer DLL-Datei will.MVC 3: Darf ich die Controller in einer DLL platzieren?
Darf ich das in einem MVC-Projekt tun?
Erstellen Sie ein MVC-Projekt MvcApplication1.
Erstellen Sie ein MVC-Projekt MvcApplication2 und löschen Sie alles darin.
add Verweis auf MvcApplication2 in MvcApplication1
eine Homecontroller innerhalb MvcApplication2 erstellen
erstellen Blick ins Innere MvcApplication1
, die es ist.
Ja.
Sie müssen nichts Besonderes tun.
Stellen Sie sicher, die Routen in global.asax zu ändern, wie folgt aus:
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional
},
namespaces: new[] {
typeof(HomeController).Namespace
}
);
}
Beachten Sie die zusätzliche Namespaces Argument der MapRoute Methode.
"Das ist es?" - Alles, was Sie wirklich brauchen, um eine Klasse zu erstellen, die von Controller erbt und System.Web.MVC referenziert. Sie müssen kein neues Projekt erstellen und Dateien löschen. Ein Klassenbibliotheksprojekt funktioniert gut. – jfar
true, aber dann werden Sie nicht die visuellen Studio-Helfer wie "Add Controler" haben – Bas