Краткий обзор мастер-страниц (Master Pages) в ASP.NET 2.0 - Создание мастер-страницы в Visual Studio 2005

ОГЛАВЛЕНИЕ

Создание мастер-страницы в Visual Studio 2005

При создании нового веб-сайта в Visual Studio 2005, вы наверняка захотите сначала создать мастер-страницу. Чтобы создать новую мастер-страницу, вам необходимо просто добавить новый объект в проект (Project), который отобразит окно добавления нового объекта (Add New Item), как на изображении внизу. Находясь в данном диалоговом окне, просто выберите и добавьте объект под названием MasterPage (мастер-страница). Как вы уже могли заметить на изображении, мастер-страницы имеют расширение .master.


Заметьте, что когда вы добавляете мастер-страницу, вам  необходимо выбрать для нее язык программирования (Visual Basic, C#, или J#). Как вы уже могли догадаться, мастер-страницы поддерживают код серверной стороны. Например, вы можете добавить код в обработчик события Page_Load. Это также полезно в случае, если вы хотите создать мастер-страницу, обладающую содержимым, которое не должно быть редактируемо на каждой странице, но, тем не менее, будет динамическим. К примеру, вы хотите отобразить имя авторизированного пользователя в правом верхнем углу; или же вам нужно отобразить количество авторизированных на данный момент пользователей в верхней части страницы.

После создания новой мастер-страницы, вы можете добавить содержимое на данную мастер-страницу при помощи конструктора (Designer), как показано в следующем изображении, либо воспользоваться декларативным методом. Как показано в следующем изображении, новая мастер-страница содержит только область содержимого. Вспомните, что место для содержимого в мастер-странице оформляется для каждой из страниц отдельно.


Мастер страница может обладать несколькими областями для содержимого. Чтобы добавить новую область для содержимого в конструкторе (Designer), просто перетащите и киньте элемент управления ContentPlaceholder из Toolbox. Вы также можете добавить элемент ContentPlaceholder декларативным методом в режиме просмотра HTML. Элемент ContentPlaceholder, как и любые другие элементы управления, имеет свой собственный декларативный синтаксис, как показано ниже:

<asp:contentplaceholder id="mainContent" runat="server"> </asp:contentplaceholder>   

Для того чтобы создать дизайн, похожий на тот, что мы рассмотрели ранее, я создал мастер-страницу с двумя областями содержимого: одну область - для основной информации слева, и другую - для меню справа. Также на мастер-страницу была добавлена статическая шапка. На данном этапе все выглядит так, как показано на изображении, приведенном ниже:


Вы можете заметить, что шапка статическая, и на ней написано "Welcome to My Web Site!" ("Добро пожаловать на мой веб-сайт!"). Далее следуют две области содержимого: mainContent – область, находящаяся слева, и menuContent - находящаяся справа. На данном этапе мы завершили создание нашей мастер-страницы. Как мы увидим далее, при создании новой ASP.NET- страницы мы можем указать то, что страница ASP.NET должна использовать определенную мастер-страницу. Оттуда мы можем настроить определенные редактируемые области содержимого на странице.