https://technet.microsoft.com/en-us/library/ms143221(v=sql.105).aspx |
Шаблоны дизайна страниц ASP .NET
Вложенные мастер-страницы
Шаблоны дизайна могут наследовать другие шаблоны. Например, сайт состоит из нескольких разделов. Все страницы сайта имеют общие элементы, и все страницы раздела имеют другие общие элементы. Сайт цветочного магазина состоит из разделов многолетних и однолетних цветов. Для них созданы шаблоны, которые наследуют общий шаблон сайта:
<%@ master language="C#" masterpagefile="~/Site4.master"%> <asp:content contentplaceholderid="SectionContents" runat="serv- er"> <h3>Perrenials</h3> <asp:contentplaceholder id="FlowerText" runat="server"/> <br /><br /> <asp:contentplaceholder id="FlowerPicture" runat="server"/> </asp:content>
Страница, описывающая нарциссы, находится в разделе многолетних цветов и наследует шаблон SectionPerrenials:
<%@ page language="C#" masterpagefile="~/SectionPerrenials.master" %> <asp:content id="FlowerText" ContentPlaceHolderId="FlowerText" runat="server"> Daffodils bloom early in spring and welcome the growing sea- son. </asp:content> <asp:content id="FlowerPicture" ContentPlaceHolderId="FlowerPicture" runat="server"> <asp:image id="image1" runat=server imageurl="~/images/daf- fodil.jpg"/> </asp:content>
Последовательность событий
Когда составная страница формируется на сервере, происходят события и страницы шаблона, и страницы содержания. Порядок этих событий полезно знать, если мы хотим программировать их обработчики.
- Инициализация вложенных элементов управления главной страницы.
- Инициализация вложенных элементов управления страницы содержания.
- Инициализация самой главной страницы.
- Инициализация страницы содержания.
- Загрузка ( Page_Load ) страницы содержания.
- Загрузка ( Page_Load ) главной страницы.
- Событие Page_LoadComplete страницы содержания.
- Загрузка дочерних элементов управления управления главной страницы.
- Загрузка дочерних элементов управления управления страницы содержания.
Событие LoadComplete было введено для того, чтобы можно было обратиться из страницы содержания к элементам главной страницы, созданным в ее Page_Load. Это нельзя сделать в обработчике Page_Load страницы содержания, так как она загружается до главной страницы.
Страницы шаблонов для конкретных платформ
Во многих случаях приложения разрабатываются для просмотра на разных видах контейнеров. Это могут быть различные браузеры или программы просмотра web-сайтов на карманных компьютерах и мобильных телефонах.
Поэтому ASP .NET 2.0 позволяет в атрибуте MasterPageFile директивы Page определить разные страницы шаблона для конкретных контейнеров:
<%@ Page Language="VB" MasterPageFile="~/Wrox.master" Mozilla:MasterPageFile="~/WroxMozilla.master" Opera:MasterPageFile="~/WroxOpera.master" %>
Заключение
При создании приложений, в которых все страницы включают общие заголовки, подвалы и систему навигации, жизнь могут облегчить шаблоны дизайна. Их легко применять и можно изменять в любой момент, обновляя при этом все приложение.