2009-08-10 12 views
2

Ich habe eine App, die ich schreibe, und ich überlege gerade, MVC zu verwenden, um es zu entwickeln. Ich habe MVC schon vor ein paar Jahren unter J2EE verwendet, daher habe ich etwas Vertrautheit mit dem Framework, aber ich möchte überprüfen, wie es unter ASP.NET implementiert wird, bevor ich damit fortfahre. Ich habe einige Prototypen mit Webforms erstellt und einige ziemlich gute Funktionen geschrieben (hauptsächlich als POC während des Prototyping), aber ich kann nicht sehen, dass diese unter dem MVC-Framework verwendbar sind.MVC und Webforms Hybrid

Also meine Frage ist: Wie viele Leute schreiben MVC/Webforms Hybrid-Apps, und was sind die Fallstricke dafür? Ich möchte die App unter MVC schreiben, da es viele gemeinsame Bildschirme gibt, die in verschiedenen Workflows verwendet werden, so dass die MVC-Architektur ideal erscheint, aber es gibt auch einige Bildschirme, die ich mit einigen der Webforms-Tools (z die Gitteransicht) und so wäre es für mich vorteilhaft, dies tun zu können. Ich denke, ich habe das Glück, dass die Seiten im Webforms-Stil entweder ziemlich eigenständig sind (dh in einem einzigen Bildschirmfluss) oder in die Flow-Screens eingespeist werden (zum Beispiel habe ich die Gridview noch nie zum Aktualisieren verwendet/Einfügen/Löschen von Daten, aber eher als ein Suchbildschirm, der die Auswahl eines Datensatzes ermöglichen würde, der dann in einen MVC-artigen Fluss fortschreitet). Hat jemand irgendwelche Gedanken oder Erfahrungen von so etwas?

Prost

MH

Antwort

3

ich über eine App gerade bin gegangen, die ein WebForms MVC-Hybrid-Layout hat und funktionell funktioniert es gut. Es gibt ein paar Probleme, auf die Sie achten sollten, zum Beispiel Webformulare in Ordnern, die auch für Routen verwendet werden, die dazu führen können, dass MVC-Routing auf seltsame Weise fehlschlägt, aber ansonsten sind keine Probleme beim Mischen von Web Forms und MVC aufgetreten.

Sobald Sie jedoch anfangen, werden Sie wahrscheinlich feststellen, dass diese Art von Setup sich falsch anfühlt - wie Sie zwischen Abstraktionen wechseln. Während es einfacher sein kann, einige der Web Forms-Seiten mit einigen der höheren Steuerelemente zusammen zu schlagen, werden Sie wahrscheinlich feststellen, dass Sie auch in anderen Teilen der Anwendung Abstriche machen. Für eine brandneue Anwendung, die von Grund auf neu ist, würde ich ernsthaft darüber nachdenken, die Anwendung mit nur einer Art von Tool für Konsistenz und leichtere Wartung durch den Produktlebenszyklus zu erstellen, auch wenn es am Anfang scheint, dass der eine oder andere anfangs einfacher ist .

+0

+1. Interessant. Ich habe über die Integration der beiden gelesen, aber nicht wirklich getan, also sind Ihre Erfahrungen nützlich. Das einzige Szenario, das ich mir vorstellen kann, dass es nützlich ist, ist, dass Mad sagt, dass du viele Gitter hast (besonders Master/Detail). – RichardOD

1

Ich habe konvertiert nur eine ASP.NET WebForms 3.5 App zu einer ASP.NET MVC 4.0 App und detailliert die Reise. Es war bemerkenswert einfach, aber wie Rick (hey Rick! [Wellen]) sagt, ist es keine Greenfield-Strategie. Für meine Situation wurden die Seiten in XSLT gerendert, also brauchte ich eine Möglichkeit, sie zu Razor zu bewegen, so dass unser Team überhaupt eine Chance hatte.

Im Wesentlichen machen Sie eine neue ASP.NET MVC-Site und kopieren Sie alles aus dem alten über. Sie werden Ihren Code-Behind verlieren, aber es gibt eine einfache Lösung dafür, und Sie müssen Routen für Ihre benutzerdefinierten Handler ignorieren sowie eine Seitenroute für die default.aspx festlegen - das ist bemerkenswert einfach.

http://www.lukepuplett.com/2013/04/converting-aspnet-webforms-to-aspnet.html

+0

Vielen Dank für Ihre Antwort! Bitte beachten Sie, dass Sie die nützlichen Punkte einer Antwort hier auf dieser Website posten sollten oder dass Ihr Beitrag gelöscht werden könnte [Siehe die FAQ, in der Antworten erwähnt werden, die "kaum mehr als ein Link" sind (http://stackoverflow.com)/faq # löschen). Sie können den Link immer noch einfügen, wenn Sie möchten, aber nur als "Referenz". Die Antwort sollte eigenständig stehen, ohne die Verbindung zu benötigen. –

Verwandte Themen