In diesem Artikel stellen wir Razor View Import vor. Zusätzlich zur ViewStart-Datei gibt es auch eine ViewImports-Datei, nach der das MVC-Framework beim Rendern einer Ansicht sucht.
Wie bei der ViewStart-Datei können wir ViewImports.cshtml per Drag & Drop in den Ordner ziehen, die ViewImports-Datei kann alle Ansichten in der Ordnerhierarchie beeinflussen
Diese Ansicht ist eine neue Ansicht für diese Version von MVC; in früheren MVC-Versionen konnten wir XML-Konfigurationsdateien verwenden, um bestimmte Aspekte der Razor-Ansichts-Engine zu konfigurieren.
Diese XML-Dateien sind jetzt verschwunden, und wir verwenden stattdessen Code.
Die ViewImports-Datei ist der Ort, an dem wir Code schreiben und generische Anweisungen platzieren können, um den Namespace für unsere Views zu erzeugen.
Wenn ja, verwenden wir normalerweise den Namensraum in unserer Ansicht, wir können die Direktive in der ViewImports-Datei verwenden, sobald wir erscheinen, anstatt den gesamten Namensraum in jeder Ansicht oder jedem Typtyp zu verwenden.
Beispiel
Nehmen wir ein einfaches Beispiel, um zu sehen, wie man die Using-Direktive in ViewImports überträgt. In der Index-Ansicht haben wir einen Using-Befehl, um den Namensraum FirstAppDemo.Controllers zu aktivieren, wie im untenstehenden Programm gezeigt.
Durch die Verwendung von Direktiven kann der aus der Razor-Ansicht generierte Code korrekt kompiliert werden. Ohne die Verwendung von Direktiven kann der C#-Compiler diesen Mitarbeitertyp nicht finden. Um den Mitarbeitertyp zu sehen, entfernen wir die Nutzungsanweisung aus der Index.cshtml-Datei.
Jetzt starte die App.
Sie sehen einen Fehler, der besagt, dass der Typ oder Namensraum HomePageViewModel nicht gefunden werden kann. Wahrscheinlich, weil mehrere deiner Ansichten dieselbe Nutzungsdirektive erfordern. Also erstellen wir einen View-Import im Views-Ordner, anstatt ihn in jede View zu legen. Dies fügt jeder Ansicht eine Using-Anweisung hinzu, klicken Sie einfach mit der rechten Maustaste auf den Ordner Views und wählen Sie Hinzufügen→Neues Element.
Im mittleren Bereich wählen Sie die Seite MVC View Imports aus. Standardmäßig lautet der Name _ViewImports.cshtml. Genau wie bei ViewStart können wir diese Datei nicht zum Rendern von HTML verwenden, also drücken wir auf den Hinzufügen-Button.
Füge nun die Nutzungsanweisung daraus zur _ViewImports.cshtml-Datei hinzu, wie unten gezeigt.
Nun können alle in diesem Ordner oder in jedem Unterordner angezeigten Ansichten den Typ in FirstAppDemo.Controllers verwenden, ohne eine genaue Using-Anweisung anzugeben. Lass uns deine App erneut ausführen, und du siehst, dass die Ansicht jetzt läuft.
|