ASP.NET MVC EditorTemplate-Unterordner

8

Ich arbeite daran, was ich für eine große ASP.NET MVC-Website halten würde. Derzeit gibt es fast 100 Editor-Vorlagen (alle für 1 Controller), und diese Zahl wird wachsen Was ich erreichen möchte, ist meine Ansichten zu organisieren, um sie leichter zu finden und zu versionieren. Dieser "Versions" -Schritt macht die Ansichten im Laufe der Zeit multiplizieren. Sie können sich dieses Projekt als eine Frage / Antwort-Anwendung vorstellen, in der Prüfungen erstellt werden und später abgerufen werden können. Grundsätzlich können die Ansichten / EditorTemplates für dieses spezielle Projekt nicht wirklich einmal in der Produktion geändert werden, so dass eine neue Kopie für die zukünftige Verwendung erstellt werden muss. Verweise auf die alte Sichtweise würden immer noch existieren, so dass diese Prüfung so aussieht und sich so verhält wie vor einem Jahr. Ebenso werden neue Prüfungen automatisch die neue Version der Ansicht übernehmen und diese Version verwenden. Ich hätte gerne diese Art von Struktur, aber ich bin für andere Ideen bereit.

%Vor%

Hinweis: Obwohl ich versionierte Unterverzeichnisse haben werde, was bedeutet, dass ich mehrere Versionen desselben Modells und derselben Vorlage haben werde, haben die neuen Dateien einen eindeutigen Dateinamen. Außerdem versuche ich, den Razor Generator zu benutzen, um meine Ansichten zu kompilieren. Nicht sicher, ob das erweitert werden kann, um die zusätzlichen EditorTemplate-Suchpfade hinzuzufügen oder nicht.

    
Jay McKinney 21.02.2014, 21:21
quelle

2 Antworten

14

Das Framework wird nicht dort aussehen, stattdessen lokale EditorTemplate-Ordner verwenden, z. Views/Department/EditorTemplates .

Editor-Vorlagen werden von der View-Engine gefunden, die zuerst in ~/Views/{1}/{0}.cshtml und dann in ~/Views/Shared/{0}.cshtml sucht.

Wenn der Controller beispielsweise Department und das Modell String lautet, fragt das Framework nach EditorTemplates/String und die View-Engine sucht in ~/Views/Department/EditorTemplates/String.cshtml und ~/Views/Shared/EditorTemplates/String.cshtml .

    
Max Toro 22.02.2014 00:15
quelle
2

Max 'Antwort ist eine viel elegantere und einfachere Antwort. Wenn Sie das nicht tun wollen wollen Sie eine Menge Arbeit, können Sie Schreiben Sie Ihre eigene ViewEngine .

    
Erik Philips 22.02.2014 00:41
quelle