TOC

This article has been localized into German by the community.

Layout:

Die Startansicht Datei

Im vorherigen Artikel haben wir gelernt, wie Sie eine Layoutansicht definieren, die in mehreren Ansichten wiederverwendet werden kann. Ein Layout wird immer dann auf eine Ansicht angewendet, wenn über die Layout-Eigenschaft darauf verwiesen wird.

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

Unter normalen Umständen müssten Sie dies für alle Seiten tun, auf denen Sie dieses Layout verwenden möchten - das ist ziemlich cool, da Sie die Flexibilität haben, mehrere Layouts zu verwenden oder sogar Seiten zu haben, die kein gemeinsames Layout verwenden. Bei vielen Projekten haben Sie jedoch wahrscheinlich nur ein gemeinsames Layout oder mindestens eines, das Sie in den meisten Situationen verwenden. Glücklicherweise gibt es eine einfache Möglichkeit, ein Standardlayout anzugeben, das verwendet wird, sofern Sie es nicht innerhalb der Seite überschreiben: Die ViewStart-Datei.

Was ist die Startansicht (ViewStart)-Datei?

Die ViewStart-Datei ähnelt einer normalen Ansicht und hat auch die gleiche Erweiterung (.cshtml). Um sie zu verwenden, müssen Sie Ihrem Ansichtsordner lediglich eine Ansicht mit dem Namen _ViewStart.cshtml hinzufügen. Wir werden das in einer Minute erledigen, aber im Moment sollten Sie wissen, dass ASP.NET MVC automatisch nach einer ViewStart-Datei sucht und diese interpretiert, bevor sie die eigentliche Seite/Ansicht interpretiert. Auf diese Weise können Sie allgemeine Funktionen festlegen, wie in diesem Fall, in denen wir ein Standardlayout für alle Seiten festlegen. Zuerst fügen wir unserem Projekt eine ViewStart-Datei hinzu:

Genau wie bei Layout-Dateien sollte dem Dateinamen ein Unterstrich vorangestellt werden, um darauf hinzuweisen, dass dies nicht nur eine reguläre Ansicht ist:

Der Inhalt dieser Datei sollte genau das sein, was Sie tun müssen, bevor eine reguläre Ansicht interpretiert wird. Hierfür gibt es viele Anwendungsfälle. Wir untersuchen jedoch die Definition eines Standard-/Fallback-Layouts, das immer verwendet wird, sofern dies nicht der Fall ist speziell beim überschreiben. Das kann so gemacht werden:

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}

Wenn Sie jetzt Ihrem Projekt eine Ansicht hinzufügen, können Sie die Option "Layoutseite verwenden" aktivieren (siehe Abbildung). Lassen Sie das Textfeld jedoch leer. Ihr Layout wird automatisch auf Ihre neue Ansicht angewendet und Sie müssen die Layout-Eigenschaft nicht mehr für jede Ansicht manuell festlegen!

Mehrere Startansicht Dateien

Bei den meisten Projekten ist wahrscheinlich nur eine ViewStart-Datei vorhanden, die sich am häufigsten im Stammverzeichnis Ihres Ordners Views befindet. In größeren Projekten ist es jedoch möglicherweise relevant, mehr als eine StartAnsicht-Datei zu haben, um Ansichten in einem bestimmten Ordner in der Regel spezifischere Anweisungen zu geben. Glücklicherweise ist das "ViewStart-System" hierarchisch aufgebaut, was bedeutet, dass ASP.NET MVC zuerst nach einer StartAnsicht-Datei im selben Ordner wie die angeforderte Ansicht sucht und dann die Ordnerhierarchie nach oben verschiebt, wenn keine gefunden wird .

Sie können dies natürlich zu Ihrem Vorteil nutzen und eine weitere ViewStart-Datei in einem Ihrer Ansichten-Unterordner erstellen. Diese StartAnsicht-Datei wird dann für alle in diesem Ordner gefundenen Ansichten verwendet. Die Struktur könnte dann so aussehen:

Zusammenfassung

In der Startansicht-Datei können Sie eine gemeinsame Logik definieren, die automatisch auf alle Ihre Ansichten angewendet wird, z.B.: Die Definition eines Standard-/Fallback-Layouts, wie in diesem Artikel beschrieben. Sie können es auch verwenden, um andere Arten von gemeinsamer Logik zu definieren, z.B.: Um Informationen in allen Ansichten zu teilen, indem Sie sie aus der ViewStart-Datei in ViewData einfügen und dann aus Ihren Ansichten auf sie verweisen. In einem späteren Artikel werden wir auf die ViewData-Funktionalität eingehen.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!