5 Stimmen

Hybride WebForms/ASP.NET MVC

Mögliches Duplikat:
ASP.NET MVC neben Web Forms in derselben Webanwendung?

Ich bin irgendwie neu in .NET-Anwendungen, ich habe eine Web-Formulare-Anwendung, die ich arbeite und ich bin über die Entwicklung von neuen Seiten zu starten, ich versuche, die neuen Seiten mit dem ASP.NET MVC zu machen, aber ich bin nicht in der Lage, die Seiten treffen die Controller zu machen. Zuerst fügte ich die Bibliotheksreferenzen hinzu, fügte die Routen auf der global.asax hinzu, aber ich bin mir nicht sicher, was sonst noch fehlt, kann mir jemand weiterhelfen?

Danke.

6voto

veggerby Punkte 8810

Zwischen den Zeilen lese ich, dass Sie versuchen hinzufügen. MVC-Seiten zu Ihrer bestehenden ASP.NET Webforms-Webanwendung?

Wenn das der Fall ist, dann benötigen Sie wahrscheinlich einige MVC-spezifische Konfigurationseinstellungen. Der einfachste Weg ist, eine neue MVC-Webanwendung zu erstellen und dann die Konfigurationseinstellungen zusammenzuführen.

Wenn Sie ein hybrides Projekt durchführen, würde ich außerdem empfehlen, dass Sie Beitrag von Scott Hanselmann zum Thema zu lesen.

2voto

JoshRivers Punkte 9382

Es gibt eine schrittweise Beschreibung des Hinzufügens von MVC zu einer WebForms-Anwendung unter diesen Links:

Sie können auch die ProjectTypeGuid mit einem Texteditor zur Projektdatei hinzufügen ({603c0e0b-db56-11dc-be95-000d561079b0} wird verwendet, um Visual Studio die Verwendung der MVC-Erweiterungen mitzuteilen).

    <ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Die obigen Links decken auch den system.webserver-Bereich der web.config, der konfiguriert werden muss, nicht vollständig ab.

0voto

Riko Punkte 562

Scott Hanselman hat ein "völlig unsupported" Nuget-Paket veröffentlicht, das MVC 3-Funktionen zu einem bestehenden Web Forms-Projekt hinzufügt. Es funktioniert auch auf meinem PC (ha ha) und ich habe es für mehrere Projekte verwendet.

http://nuget.org/List/Packages/AddMvc3ToWebForms

Er hat hier darüber gebloggt:

http://www.hanselman.com/blog/CreatingANuGetPackageIn7EasyStepsPlusUsingNuGetToIntegrateASPNETMVC3IntoExistingWebFormsApplications.aspx

Ein Tipp für Einsteiger: Dieses Paket konfiguriert Ihre MVC-Routen in /App_Start/RegisterMvc3Routes.cs

0voto

Maslow Punkte 17969

Ich habe in den letzten Monaten viel Zeit mit diesem Thema verbracht. Hier sind meine Beobachtungen.

Das Gute/Einfache - Erhalten Webforms aufzurufen MVC Kontrolleure - Es war bemerkenswert einfach, ein neues System aufzustellen MVC3 Projekt und Ablegen Webforms Seiten hinein. - Ich konnte meine <pages><controls></controls></pages> Abschnitt in den /pages Verzeichnis in einem neuen web.config dort

Das Schmutzige/Schwierige

  • Bezüglich der GUID

    • Bitte beachten Sie, dass die GUID muss aus irgendeinem Grund am Anfang der Zeile eingefügt werden... jedes Mal, wenn ich es versuchte, schlug es fehl. Bis ich über einen Beitrag stolperte, der darauf bestand, dass er vor den anderen eingefügt wird.
    • Ich weiß auch nicht, was der Unterschied ist, aber ich habe eine andere GUID, die funktioniert... {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • die Landing Page so zu gestalten, dass sie Webforms verursachte ALLE möglichen Probleme.

  • jQuery-Intelligenz in Einklang zu bringen mit T4MVC

Das habe ich getan, um das Problem zu lösen

@if (System.Diagnostics.Debugger.IsAttached)
    { 
    <script src="../../Scripts/Mvc3/jquery-1.7-vsdoc.js" type="text/javascript"></script> @* intellisense! *@
     @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_js)
     @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_js)
    }
    else
    {
        @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_min_js) 
        @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_min_js)  
    }

Empfehlungen:

  • Utilisez T4MVC in ALLEN Fällen, auch wenn es sich um reine Webformulare handelt. Die Abschaffung der magischen Zeichenketten für statische Inhalte ( .js , .css , Bilder, Angabe von Vorlagen) ist hervorragend.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X