Навігація
Головна
 
Головна arrow Інформатика arrow Проектування і розробка web-додатків
< Попередня   ЗМІСТ   Наступна >

МАЙСТЕР-ШАБЛОНИ (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.

Строго типізоване уявлення для дії Index контролера Ноті

Мал. 4.44. Строго типізоване уявлення для дії Index контролера Ноті

Використовувані на майстер-шаблонах заповнювач @RenderBody () дозволять вставляти на їх місце інші уявлення. Приклад майстер-шаблону показаний на рис. 4.45.

Приклад майстер-шаблону _Layout.cshtml

Мал. 4.45. Приклад майстер-шаблону _Layout.cshtml

Для використання майстер шаблону _Layout.cshtml потрібно змінити шаблони уявлень (рис. 4.40 і 4.42) наступним чином:

• додати директиву

@ {Layout = "- / Views / Shared / Layout.cshtmr:}

• прибрати теги <html>, <head> і <body>, які вже є в майстер-шаблоні.

В результаті будуть отримані шаблони уявлень, які показані на рис. 4.46 і 4.47.

Вистава для дії Index контролера Ноті, що використовує майстер-шаблон _Layout.cshtml

Мал. 4.46. Вистава для дії Index контролера Ноті, що використовує майстер-шаблон _Layout.cshtml

Вистава для дії [HttpGet] Buy (int id), що використовує майстер-шаблон _Layout.  eshtml

Мал. 4.47. Вистава для дії [HttpGet] Buy (int id), що використовує майстер-шаблон _Layout. eshtml

Замість додавання директиви @ {Layout = "~ / Views / Shared / _Layout. Eshtml"; } В кожну виставу її можна додати в спеціальне подання _ViewStart.cshtml, яке виконується до будь-якого викликається уявлення.

В майстер-шаблон, крім основного змісту (@RenderBody ()), за допомогою заповнювача @RenderSection ( "імя_секціі") можна включати різні секції (аналог placeholder в майстер-сторінках), куди

уявлення можуть розміщувати свій вміст. Наприклад, в майстер-шаблон можна включити секцію Footer:

<! DOCTYPE html>

@RenderBody ()

<Footer> @RenderSection ( "Footer") </ footer>

</ Body>

</ Html>

У цьому випадку, щоб уявлення вставляти деякий зміст в створену секцію, в ньому потрібно задати @section Foter {...}. Наприклад, в поданні Index можна задати зміст секції Footer наступним чином:

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

<! - тут інше зміст ->

@section Footer {Всі права захищені. Syte Corp. 2012.}

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук