Ich muss eine Komponente, einschließlich Geschäftslogik und Benutzeroberfläche, zur Verwendung auf einer ASP.NET MVC 3-Website bereitstellen, die von einem anderen Unternehmen entwickelt wird.
Ich kenne mich mit den ASP.NET-WebForms-Serversteuerelementen aus und wie Sie sie packen und verteilen, damit sie projektübergreifend wiederverwendet werden können. Ich habe auch Erfahrung mit MVC Ansatz im Allgemeinen und etwas ASP.NET MVC Erfahrung. Ich habe Materialien gelesen, in denen die Verwendung von HTML-Helfern und ähnlichem empfohlen wird, aber das meiste behandelt nur die Wiederverwendbarkeit oder Wiederverwendbarkeit der Benutzeroberfläche innerhalb eines einzelnen ASP.NET MVC-Projekts. Ich habe keine Erwähnung gefunden, wie solche Funktionalität für ASP.NET MVC zu packen und zu verteilen.
Die Geschäftslogik ist ein wichtiger Teil dieser Komponente. Es soll eine Art Wizard sein, der viele Schritte durchläuft und auch mit der Datenbank unter Verwendung von Entity Framework funktioniert und eine E-Mail an den Benutzer sendet.
Wie würde ich eine Steuerkomponente erstellen, die komplexe Geschäftslogik kapselt und auch ihre eigene UI / View-Ausgabe darstellt und die in Form einer eigenständigen Assembly verteilbar wäre? Ist das überhaupt möglich oder nur teilweise?
Wäre das irgendwie machbar, wenn man Modell, View und Controller in eine Assembly einpackt?
Oder wäre es besser, sich diesem komplexen Modell zu nähern? Wenn ja, wie wäre es möglich, die UI / View und den Controller mit dieser Komponente durch den Konsumenten der Komponente zu verbinden?
Ich habe auch ein paar Anbieter da draußen gesehen, wie Telerik, die etwas in der Art von ASP.NET MVC Controls / Komponenten verkaufen, also nehme ich an, dass das irgendwie möglich ist.
In diesem Artikel erfahren Sie, wie Sie Controller von anderen Baugruppen aufrufen.
Um nur Ansichten zu verwenden, können Sie RazorGenerator verwenden.
Ich empfehle Ihnen, auf die MVC Control ToolKit Projektseite von CodePlex
zu verweisenSiehe auch ASP.Net MVC Sprite Projekt
Tags und Links asp.net-mvc asp.net reusability