Мастер-шаблоны (master view)
Как и в ASP.Net, Web Forms визуализация может выполняться с помощью использования мастер-шаблонов (мастер-страниц). Мастершаблон задает структуру формируемого HTML-кода. Шаблон представления описывает содержание только частей мастер-шаблона. В системе ASPX мастер шаблон задается файлом в папке Shared каталога View с расширением. master (для ASPX) или с расширением. eshtml (для Razor… Читать ещё >
Мастер-шаблоны (master view) (реферат, курсовая, диплом, контрольная)
Как и в ASP.Net, Web Forms визуализация может выполняться с помощью использования мастер-шаблонов (мастер-страниц). Мастершаблон задает структуру формируемого HTML-кода. Шаблон представления описывает содержание только частей мастер-шаблона. В системе ASPX мастер шаблон задается файлом в папке Shared каталога View с расширением. master (для ASPX) или с расширением. eshtml (для Razor).
Мастер-шаблоны имеют такой же вид, как и обычные шаблоны представлений, но позволяют включать в себя другие представления. Например, в мастер-шаблоне можно определить общие для всех остальных представлений элементы, а также подключить общие стили и скрипты. В итоге в каждом отдельном представлении не нужно будет прописывать путь к файлам стилей.
По умолчанию при создании нового проекта ASP.NET MVC в проект уже добавляется мастер-шаблон под названием _Layout.chtml, который можно найти в папке Views/Shared. Для использования в представлении другой мастер-страницы нужно в секции Layout указать путь к нужной мастер-странице. Например, в представлении Index. cshtml можно определить мастер-страницу так:
@{ Layout = «~/Views/Shared/_Layout.cshtml» ;}.
Если в представлении не нужно использовать мастер-страницу, то нужно задать Layout = null.
Рис. 4.44. Строго типизированное представление для действия Index контроллера Ноте.
Используемые на мастер-шаблонах заполнитель @RenderBody () позволят вставлять на их место другие представления. Пример мастер-шаблона показан на рис. 4.45.
Рис. 4.45. Пример мастер-шаблона _Layout.cshtml.
Для использования мастер шаблона _Layout.cshtml нужно изменить шаблоны представлений (рис. 4.40 и 4.42) следующим образом:
• добавить директиву.
@{ Layout = «-/Views/Shared/ Layout. cshtmr:}.
• убрать теги, и, которые уже имеются в мастер-шаблоне.
В результате будут получены шаблоны представлений, которые показаны на рис. 4.46 и 4.47.
Рис. 4.46. Представление для действия Index контроллера Ноте, использующее мастер-шаблон _Layout.cshtml.
Рис. 4.47. Представление для действия [HttpGet] Buy (int id), использующее мастер-шаблон _Layout. eshtml.
Вместо добавления директивы @{ Layout = «~/Views/Shared/_Layout. eshtml»; } в каждое представление ее можно добавить в специальное представление _ViewStart.cshtml, которое выполняется до любого вызываемого представления.
В мастер-шаблон, кроме основного содержания (@RenderBody ()), с помощью заполнителя @RenderSection («имя_секции») можно включать разные секции (аналог placeholder в мастер-страницах), куда представления могут размещать свое содержимое. Например, в мастершаблон можно включить секцию Footer:
@RenderBody ().
@RenderSection («Footer»).
В этом случае, чтобы представление вставляло некоторое содержание в созданную секцию, в нем нужно задать @section Foter {…}. Например, в представлении Index можно задать содержание секции Footer следующим образом:
@{ Layout = «~/Views/Shared/_Layout.cshtmr» ;}.
@section Footer {Все права защищены. Syte Corp. 2012.}.