В этой статье мы представим импорт Razor View. Помимо файла ViewStart, существует также файл ViewImports, который фреймворк MVC ищет при рендеринге любого вида.
Как и в случае с файлом ViewStart, мы можем перетащивать ViewImports.cshtml в папку, файл ViewImports может влиять на все представления в иерархии папок
Этот вид является новым вариантом для этой версии MVC; в предыдущих версиях MVC мы могли использовать XML-файлы конфигурации для настройки определённых аспектов движка Razor.
Эти XML-файлы теперь исчезли, и вместо этого мы используем код.
Файл ViewImports — это место, где мы можем написать код и разместить общие инструкции для создания нужного нам пространства имён для наших представлений.
Если она есть, обычно используем пространство имён в нашем представлении, можно применить директиву в файле ViewImports после появления, а не использовать полное пространство имён в каждом представлении или типе.
Пример
Возьмём простой пример, чтобы посмотреть, как переместить директиву using в ViewImports. В режиме Index у нас есть команда using для запуска пространства имён FirstAppDemo.Controllers, как показано в программе ниже.
Использование директив позволит коду, сгенерированному из Razor, корректно компилировать. Без использования директив компилятор C# не сможет найти этот тип сотрудника. Чтобы увидеть тип сотрудника, уберём директиву using из файла Index.cshtml.
Теперь запускай приложение.
Вы увидите ошибку, сообщающую, что тип или пространство имён HomePageViewModel не найдено. Вероятно, потому что несколько ваших взглядов требуют одинакового использования директивы. Давайте создадим импорт View в папке Views вместо того, чтобы размещать его в каждом представлении. Это добавит оператор using к каждому представлению, просто кликните правой кнопкой мыши по папке Views и выберите Add→New Item.
В средней панели выберите страницу MVC View Imports. По умолчанию название — _ViewImports.cshtml. Как и в ViewStart, мы не можем использовать этот файл для рендеринга HTML, так что давайте нажмём кнопку Добавить.
Теперь добавьте директиву using из этого в файл _ViewImports.cshtml, как показано ниже.
Теперь все представления, отображаемые в этой папке или в любой подпапке, могут использовать этот тип в FirstAppDemo.Controllers без указания точного оператора use. Давайте запустим ваше приложение ещё раз, и вы увидите, что просмотр теперь запущен.
|