Робота з головними сторінками програмними засобами

Можна отримати доступ до вмісту елементів управління ContentPlaceHolder головної сторінки за допомогою методу FindControl. як показано вище. Якщо елемент керування ContentPlaceHolder був з'єднаний з вмістом з елемента управління Content. то в елементі ContentPlaceHolder не перестане вмісту, яке задається за замовчуванням. Замість вмісту за замовчуванням в цьому елементі будуть знаходитися текст і елементи управління, які визначені в сторінці вмісту.

Сувора типізація для динамічних головних сторінок

Якщо сторінка вмісту призначає головній сторінці строгий тип за допомогою директиви @ MasterType. цей тип необхідно застосувати до всіх головних сторінках, який призначається динамічно. Якщо передбачається динамічний вибір головної сторінки, то рекомендується створити базовий клас, з якого буде проводитися головна сторінка. Цей базовий клас головної сторінки потім може визначати властивості і методи головної сторінки в цілому. Якщо на сторінці вмісту призначається строгий тип головної сторінки за допомогою директиви @ MasterType. то можна призначати його не окремої головній сторінці, а базовому класу головної сторінки.

У наступних прикладах показано, як створити базовий тип головної сторінки, який може використовуватися декількома головними сторінками. У цих прикладах є базовий тип, похідний від елемента управління MasterPage. дві головні сторінки, успадковують від базового типу, і сторінка вмісту, що дає користувачам можливість динамічного вибору головної сторінки за допомогою рядка запиту (? color = green). Базовий тип головної сторінки визначає властивість з ім'ям MyTitle. Одна з головних сторінок з цих прикладів переопределяет властивість MyTitle. а інша - ні. Сторінка вмісту відображає властивість MyTitle як заголовок сторінки. Заголовок сторінки, таким чином, буде змінюватися в залежності від обраної головної сторінки.

Це базовий тип головної сторінки. Він належить каталогу App_Code.

Це перша головна сторінка, яка відображає синій фон. Зверніть увагу, що атрибут Inherits в директиві @ Master посилається на базовий тип.

Це друга головна сторінка. Вона така ж, як і перша головна сторінка, за винятком того, що відображає зелений фон і перевизначає властивість MyTitle. яке визначено в базовому типі.

Це сторінка вмісту, яка дає користувачам можливість вибирати головну сторінку за допомогою рядка запиту. Директива @ MasterType. яка призначає строгий тип властивості Master сторінки, посилається на базовий тип.

Схожі статті