Verwenden Sie die Webformular-Masterseite als Masterseite für ASP.Net MVC-Ansichten programmatisch

9

Wir haben eine laufende Lösung, die viele web forms -Anwendungen mit derselben Masterseite enthält. Wir haben ein Klassenbibliotheksprojekt für die Masterseite und ihre Steuerelemente erstellt und es als dll innerhalb jeder Webformularanwendung referenziert und die Masterseite programmatisch zugewiesen

Nun werden wir unserer Lösung zwei neue Anwendungen hinzufügen, aber wir haben beschlossen, ASP.Net MVC 3 für die Erstellung dieser neuen Anwendungen zu verwenden.

Das Problem ist, dass wir dieselbe Masterseite für die neuen Anwendungen verwenden müssen. Wie können wir also die Masterseite für unsere Ansichten mit Code festlegen?

Beachten Sie, dass unsere Masterseite ein Klassenbibliotheksprojekt ist.

    
Amir Ismail 19.12.2011, 16:34
quelle

3 Antworten

3

Sehen Sie sich diese Artikel an, um einen Überblick über das Mischen von Webforms mit MVC zu erhalten:

Ein weiteres interessantes Projekt ist Zeus , wenn es um eine gemischte Webforms / MVC-Lösung geht. Es enthält Helfer zur Verwendung von HtmlHelper und UrlHelper auf Webformularseiten.

    
Jan 27.12.2011 17:41
quelle
1

Wenn Sie wirklich die MVC-Route vorwärts bewegen möchten, sollten Sie wahrscheinlich etwas Zeit investieren, um Ihre Masterseite in ein Layout zu konvertieren. Alles andere wäre ein Hack / Workaround.

    
BentOnCoding 28.12.2011 20:14
quelle
1

Amir, ich habe ein funktionierendes Beispiel in hier hochgeladen. Schritte,

1) Heruntergeladen und konvertiert eine Beispielanwendung von hier .

2) Fügen Sie in dieser Lösung eine MVC 3-Anwendung hinzu, und fügen Sie die Klassenbibliothek der obigen Lösung hinzu.

3) Geben Sie die MasterPage in der MVC-Ansicht an (entweder in der Ansicht MasterPageFile="~/MasterPageDir/MasterPage.master" oder in der Controller-Rückgabe View("Index",masterName: MasterPageVirtualPathProvider.MasterPageFileLocation); ).

4) Setzen Sie diese Zeilen in global.asax.

%Vor%     
imran_ku07 31.12.2011 16:52
quelle