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.
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 'Antwort ist eine viel elegantere und einfachere Antwort. Wenn Sie das nicht tun wollen
Tags und Links asp.net-mvc razor razorgenerator