This article has been localized into German by the community.
Die ViewImports-Datei
ASP.NET MVC und Razor bieten viele erweiterte Funktionen für die Arbeit mit Ihren Ansichten. Beispielsweise können Sie in Ihren Ansichten auf Typen aus Ihrem eigenen Projekt oder sogar aus dem .NET-Framework verweisen, aber da die Ansicht in diesem Aspekt vollständig vom Controller getrennt ist, haben alle Ihre using-Anweisungen im Controller keine Auswirkungen auf Ihre Ansicht. Dies bedeutet, dass Sie entweder die vollständigen Referenzen wie folgt verwenden müssen:
@MyProject.Helpers.StringHelper.GetSummary(longString)
Alternativ können Sie den Namespace mit der Anweisung "using" in Ihre Ansicht aufnehmen:
@using MyProject.Helpers
Dies müssten Sie jedoch in ALLEN Ansichten für alle Namespaces tun, die Sie einschließen möchten. Dies ist eine Menge Arbeit, insbesondere wenn Sie später entscheiden, einen anderen Namespace in alle Ihre Ansichten aufzunehmen. Glücklicherweise kann uns ASP.NET MVC dabei helfen. Die Lösung heißt ViewImports und wird verwendet, indem eine Datei mit dem Namen _ViewImports.cshtml in Ihr Projekt eingefügt wird. Genau wie die Datei _ViewStart.cshtml wird die Datei _ViewImports.cshtml für alle Ihre Ansichten aufgerufen, bevor sie gerendert werden. Hiermit können Sie allgemeine Funktionen und Importe definieren, z.B.: die bereits erwähnten using-Anweisungen.
Die _ViewImports.cshtml-Datei kann jedoch nicht nur für allgemeine using-Anweisungen verwendet werden. Zum Zeitpunkt des Schreibens werden die folgenden Razor-Anweisungen unterstützt:
- @using
- @inject
- @model
- @inherits
- @addTagHelper
- @removeTagHelper
- @tagHelperPrefix
Hinzufügen einer _ViewImports-Datei
Um Ihrem Projekt eine _ViewImports.cshtml-Datei hinzuzufügen, verfahren Sie genauso wie bei der Datei _ViewStart.cshtml. Sie sollte im Allgemeinen im Stammverzeichnis Ihres Ordners Views abgelegt werden:
Die Datei sollte _ViewImports heißen (beachten Sie den vorangestellten Unterstrich - er ist wichtig!):
Nach dem Hinzufügen können Sie der Datei freigegebene Anweisungen hinzufügen. Diese werden automatisch auf alle Ihre Ansichten angewendet.
_ViewStart vs. _ViewImports
Zu diesem Zeitpunkt haben Sie möglicherweise festgestellt, dass die Dateien _ViewStart und _ViewImports ziemlich ähnlich sind. Mit beiden können Sie Funktionen implementieren, die automatisch auf Ihre Ansichten angewendet werden. Es gibt jedoch einen sehr wichtigen Unterschied: Alle using -Anweisungen, die der _ViewStart-Datei hinzugefügt werden, gelten für diese Datei und nicht für die tatsächlichen Ansichten. Die _ViewImports-Datei wurde dagegen speziell dafür entwickelt. Erweitern Sie den Bereich auf die Ansichten, damit Ihre Ansichten die in der Datei _ViewImports definierten using-Anweisungen nutzen können.
Zusammenfassung
Mit der Datei _ViewImports können Sie einen Bereich der Razor-Anweisungen automatisch auf alle Ihre Ansichten anwenden, z.B.: mit Anweisungen und der TagHelper-Funktionalität.