Пользователи не имеют прямого доступа к главным страницам. Они вызывают страницы содержимого, которые производны от главной страницы. При этом .NET комбинирует содержимое обеих страниц и возвращает единый ответ (как будто есть только одна страница).
Страница содержимого создается посредством выбора главной страницы при добавлении Web-страницы на ваш сайт. При этом в нижней части диалогового окна имеется флажок Select master page (см. рис. 14.19). Выбор этой опции представит вам все имеющиеся главные страницы вашего приложения.
Когда ваша страница содержимого откроется, вы увидите на заднем плане содержимое главной страницы. На переднем плане будут находиться элементы управления Content- PlaceHolder. Именно сюда вы будете добавлять специфичные для вашей страницы элементы управления. Таким образом, обеспечивается разделение функциональности между тем, что принадлежит вашей странице, и тем, что принадлежит главной странице. Работать со страницей можно точно так же, как и с любой другой Web-страницей ASP.NET. Добавляйте элементы управления на форму и пишите код событий в файле выделенного кода.
Примечание
Раскладка и позиционирование элементов управления могут быть важны при работе с областями содержимого. Например, если вы включили абсолютное позиционирование, то указатель места размещения содержимого является просто подсказкой. Из-за характера этой опции позиционирования указатель места размещения не может воспрепятствовать вам разместить ваши элементы управления где угодно на странице. Опция же упорядочения потоком имеет обратный эффект. Элементы управления будут разрешены только внутри областей содержимого (если они не помечены как абсолютно позиционируемые).
Пример показан на рис. 14.41. Эта Web-страница была создана для редактирования профиля клиента; она основана на главной странице приложения. Обратите внимание, что страница содержимого имеет такое же расширение, как и любая Web-форма (aspx).
Совет
Вы можете использовать объект Master для ссылок на главную страницу из файла выделенного кода вашей страницы содержимого. Предположим, что вы хотите настроить текст указаний с главной страницы внутри каждой страницы содержимого. Вам нужно будет найти элемент управления, используёмый главной страницей для текста с указаниями. После этого вы сможете настроить соответствующее свойство этого элемента управления. Код для поиска элемента управления на главной странице будет выглядеть примерно так:
Label lb = (Label)this.Master.FindControl("Labellnstructions");