Головна сторінка функціонує як контейнер шаблону і сторінка злиття для сторінок вмісту в веб-додатку ASP.NET. Головні сторінки забезпечують зручний спосіб спільного використання структури і вмісту в наборі сторінок вмісту. Можна використовувати местозаполнітелі вмісту для опису розділів головної сторінки, які замінюються вмістом зі сторінок вмісту.
При використанні головної сторінки і його пов'язаних сторінок, можна додати необхідні теги документа XHTML (такі як html. Head. І body) тільки на головній сторінці та більше не створення інших .aspx файлів (сторінок ASP.NET) як окремі веб-сторінки. Сторінки вмісту описують вміст, який вставляється замість местозаполнітелей на головній сторінці.
Якщо HTTP-запит виконується для сторінки під час виконання, головної сторінки та сторінки вмісту об'єднуються в один клас з тим же ім'ям, як у сторінок вмісту. Скомпільований результат об'єднаний клас є похідним від Page класу.
Головна сторінка може містити пряму розмітку і серверні елементи управління, а також контейнерні елементи управління. Кожному елементу, який розміщується на головній сторінці за межами ContentPlaceHolder візуалізації на всіх сторінках, які виходять при злитті головної сторінки та сторінки вмісту елемента управління.
Всі сторінки вмісту, пов'язані з головної сторінки необхідно посилаються на головну сторінку в MasterPageFile атрибута його директиви. Сторінка може містити тільки @ Page директиви і один або кілька Content елементів управління. Всі сторінки текст, розмітку та серверні елементи управління повинні бути розміщені в Content елементів управління. Необхідно вказати ContentPlaceHolder управління з головній сторінці, Content управління пов'язані з шляхом установки ContentPlaceHolderID Властивості Content елемента управління.
Під час динамічного вмісту з кожного виконання Content управління запитаної сторінці об'єднується з головною сторінкою, в тому місці, пов'язаної ContentPlaceHolder елемента управління. Решта розмітка і елементи управління на головній сторінці не будуть зачіпатися. Обробники подій можуть визначатися в головному класі і на сторінці вмісту. Для отримання додаткової інформації див. Events in ASP.NET Master and Content Pages.
MasterPage Клас зв'язується з файлами, що мають розширення .master. Ці файли компілюються під час виконання як MasterPage об'єктів і кешуються в пам'яті сервера.
Головна сторінка доступна для вмісту сторінки через Master властивість базового Page класу. Master Властивість повертає екземпляр головної сторінки; тим не менш, типизированного як базовий MasterPage класу. Для управління доступом, властивості і функції головної сторінки Master властивість може бути приведений до MasterPage об'єкта. Ім'я класу головної сторінки визначається за допомогою ClassName атрибута директиви.
Директиви головної сторінки не переважають директив окремих сторінок вмісту.
Головні сторінки найбільш часто створюються декларативно. Якщо ви хочете створити головну сторінку програмними засобами, безпосередньо похідних від MasterPage класу. Крім розширення MasterPage класу, необхідно створити головний файл для візуального відображення інтерфейсу користувача (UI), пов'язаного з класами, викликаними в вихідному файлі.
При створенні головної сторінки шляхом створення власного класу спочатку повинен включати всі простори імен, які необхідні для класів, які використовуються на сторінці.
Додаткові відомості про головних сторінках см. В розділі ASP.NET Master Pages.
Цей розділ містить чотири приклади коду:
У першому прикладі коду демонструється декларативне створення головної сторінки.
У другому прикладі коду представлена сторінка вмісту, пов'язаного з головною сторінкою, створеної в першому прикладі коду.
У третьому прикладі коду демонструється додавання властивості до головної сторінки.
У четвертому прикладі коду показано, як використовувати сторінку вмісту для доступу до відкритих властивістю на головній сторінці.
Наступний приклад демонструє декларативне створення головної сторінки і додавати вміст за допомогою сторінки вмісту. Першою веб-сторінки є головну сторінку з ім'ям MasterPageSample_1.master.
У наступному прикладі представлена сторінка вмісту, яка пов'язана з MasterPageSample_1.master. Він містить Content управління і ідентифікує ContentPlaceHolder елемента управління, пов'язаний з вміст за допомогою ContentPlaceHolderID властивість.