W tym artykule przedstawimy Razor View Import. Oprócz pliku ViewStart, istnieje także plik ViewImports, którego framework MVC szuka podczas renderowania dowolnego widoku.
Podobnie jak w pliku ViewStart, możemy przeciągnąć i upuścić ViewImports.cshtml do folderu, a plik ViewImports może wpływać na wszystkie widoki w hierarchii folderów
Ten widok jest nowym widokiem dla tej wersji MVC, w poprzednich wersjach MVC mogliśmy używać plików konfiguracyjnych XML do konfiguracji niektórych aspektów silnika widoku Razor.
Te pliki XML już zniknęły, a my używamy kodu.
Plik ViewImports to miejsce, gdzie możemy pisać kod i umieszczać ogólne instrukcje, aby wprowadzić przestrzeń nazw potrzebną do naszych widoków.
Jeśli tak, zwykle używamy przestrzeni nazw w naszym widoku, można użyć dyrektywy w pliku ViewImports, gdy się pojawimy, zamiast używać całej przestrzeni nazw w każdym widoku lub typie.
Przykład
Weźmy prosty przykład, aby zobaczyć, jak przenieść dyrektywę using do ViewImports. W widoku Index mamy polecenie użyciem, które wprowadza przestrzeń nazw FirstAppDemo.Controllers, jak pokazano w programie poniżej.
Użycie dyrektyw pozwala na poprawne skompilowanie kodu wygenerowanego w widoku Razor. Bez użycia dyrektyw kompilator C# nie będzie w stanie znaleźć tego typu Pracownik. Aby zobaczyć typ pracownika, usuńmy dyrektywę using z pliku Index.cshtml.
Teraz uruchom aplikację.
Zobaczysz błąd wskazujący, że typ lub przestrzeń nazw HomePageViewModel nie jest dostępny. Prawdopodobnie dlatego, że kilka twoich poglądów wymaga takiej samej dyrektywy. Więc stwórzmy import widoku w folderze Widoki, zamiast umieszczać go w każdym widoku. To doda polecenie using do każdego widoku, wystarczy kliknąć prawym przyciskiem myszy na folder Views i wybrać Dodaj→nowy element.
W środkowym panelu wybierz stronę MVC View Import. Domyślnie nazwa to _ViewImports.cshtml. Podobnie jak w ViewStart, nie możemy użyć tego pliku do renderowania HTML, więc kliknijmy przycisk Dodaj.
Teraz dodaj dyrektywę using z tego do pliku _ViewImports.cshtml, jak pokazano poniżej.
Teraz wszystkie widoki wyświetlane w tym folderze lub dowolnym podfolderze mogą używać typu w FirstAppDemo.Controllers bez określania precyzyjnego polecenia użyciem. Uruchommy Twoją aplikację ponownie i zobaczysz, że ten widok już działa.
|