Стилевое оформление страниц
Создание заготовки мастер-страницы
-
В панели Solution Explore r вызовите контекстное меню
для папки MasterPages, которую мы
создали ранее,
и выполните команду Add New Item
-
В окне
мастера создания заготовок выберите шаблон Master
Page и создайте эталонную страницу с именем Title.master без
файла отделенного кода
Оболочка добавит заготовку эталонной страницы в каталог MasterPages, где ей и место.
Создание баннера
-
Переведите
в редакторе эталонную страницу Title.master в
режим Design и удалите пока автоматически
созданный экземпляр элемента ContentPlaceHolder (просто
для тренировки) -
В
режиме Design из вкладки Standard панели Toolbox поместите
в самом начале мастер-страницы экземпляр элемента Image как
контейнер для размещения баннера. Присвойте ему имя ID =" ImageBanner "
Элемент Image из вкладки HTML здесь не подойдет. Он не будет проявляться на контекстной странице, потому что не обрабатывается сервером по механизму мастер-страниц (если только ему не присвоить атрибут runat="server" )
-
Вызовите
контекстное меню для папки MasterPages и
выполните команду Add Existing Item.
Найдите через открывшееся диалоговое окно файл Banner.png,
который находится в прилагаемом к данной работе каталоге Source,
и скопируйте его в папку MasterPages текущего
сайта -
Выделите
экземпляр ImageBanner и присоедините
к нему через свойство ImageUrl рисунок Banner.png из
папки MasterPages Web-дерева сайта
Наш баннер слишком великоват, но для локального компьютера сойдет и такой
<h1 style="color: Green">
Мы приветствуем Вас на нашем сайте!!!
</h1>
Листинг
31.34.
Заголовочный дескриптор на мастер-странице Title.master
Добавление к мастер-странице таблицы с шаблонами
Элемент шаблона ContentPlaceHolder по умолчанию растягивается по всей ширине страницы. Чтобы позиционировать его на мастер-странице, нужно применить таблицу. Мы хотим создать с помощью таблицы следующую структуру пользовательского интерфейса
В трех ячейках таблицы будет размещаться потенциально заменяемое содержимое мастер-страницы, поэтому там должны находится контейнеры ContentPlaceHolder. В разных ячейках таблицы мы сделали разный фон только для учебных целей, чтобы сделать ячейки видимыми и показать, что фон ячеек таблицы с мастер-страницы перейдет на итоговую страницу. В реальных страницах такая пестрота должна быть умеренной.
Мы должны четко представлять, что элементы управления ContentPlaceHolder и Content являются прозрачными контейнерами для своего содержимого, если только мы искусстенно не создадим в них фон другими элементами, например, элементом Panel, Image, Table. Поэтому, если мы на странице содержимого не создадим свой фон в замещающих элементах Content, то будет проявляться в итоговой странице фон элемента-контейнера мастер-страницы.
-
Поместите
на мастер-страницу Title.master после
заголовочного дескриптора из вкладки HTML панели Toolbox элемент
управления Table
-
Используя
боковые маркеры таблицы и команды меню Layout оболочки, постройте
таблицу из трех строк и двух столбцов, чтобы она соответстворвала
приведенному выше рисунку
В конечном виде таблица вместе с вутренними стилями должна описываться следующими HTML -кодом
<table>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td style="width: 25%; background-color: #9DFF7E" valign="top">
</td>
<td style="background-color: #FFB8FF">
</td>
</tr>
<tr style="background-color: #FFFF92">
<td colspan="2">
</td>
</tr>
</table>
Листинг
31.35.
Дескрипторный код таблицы на странице Title.master
Внешний вид таблицы будет таким
Теперь все готово для размещения элементов управления в ячейках созданной таблицы.
-
Поместите
из вкладки Standard панели Toolbox в
верхнюю строку таблицы компонент Panel,
к которому мы должны присоединить рисунок, задающий
фон ячейки -
Задайте
для созданного экземпляра элемента управления Panel значения свойств: Width=100% ; Height=100%, чтобы элемент полностью занял верхнюю ячейку
таблицы -
Через
проводник Windows найдите в
прилагаемом к данной работе каталоге Source файл BackTitleSrc.jpg и в любом графическом
редакторе вырежьте из него область с хорошо стыкуемыми
при повторении рисунка границами, или возьмите
мною вырезанный готовый рисунок BackTitle.jpg
Рисунок не должен быть слишком большим, чтобы "не застревал в проводах и не тормозил " по пути к пользователю.
-
В
панели Solution Explorer в
контекстном меню для папки MasterPages выполните
команду Add Existing Item,
найдите рисунок BackTitle.jpg и
скопируйте его в эту папку -
Выделите
на странице экземпляр Panel1 в
верхней строке таблицы и через панель инструментов Properties присоедините
в свойстве BackImageUrl
рисунок BackTitle.jpg, который многократным повторением займет
всю площадь элемента Panel1
Теперь можно разместить в ячейках таблицы прозрачные контейнеры-шаблоны элемента управления ContentPlaceHolder.
-
Поместите
из вкладки Standard панели Toolbox в
верхнюю строку таблицы в объект Panel1 элемент-контейнер ContentPlaceHolder, который
будет представлять на странице именованную
область ContentPlaceHolder1 для
размещения верхнего колонтитула
-
То
же самое сделайте для правой-средней и нижней
ячеек таблицы -
В
контейнер ContentPlaceHolder1 вставьте
и отредактируйте такую строку
<div style="font-weight: bold; font-size: xx-large; color: red; text-align: center">
Сведения об автошколе в целом
</div>-
Вставьте
в правый-средний контейнер ContentPlaceHolder2 любой
текст, например, такой или его часть
Вот уже более 15 лет мы занимаемся подготовкой водителей
категории "B" в г.Красноярске и всегда занимали первые места
в сводках МРЭО ГИБДД по качеству обучения. Автошкола всегда нацелена
на успех наших клиентов в сдаче экзаменов ГАИ с первого раза
и своевременном получении водительского удостоверения.
Мы обеспечиваем максимальные удобства своим клиентам. Для
этого существуют вечерняя и воскресная формы обучения.
Наши курсанты имеют возможность бесплатно и неограниченно пользоваться
компьютерным классом. Учебные автомобили прибывают по заявке
клиента к назначенному им месту. Развивается сеть филиалов автошколы
в г.Красноярске.
Наша компьютерная экзаменационная программа успешно используется
в ГИБДД г.Красноярска, Железногорска, Назарово, Емельяново, Шарыпово
для государственной аттестации кандидатов в водители. Мы неоднократно
выпускали цветные учебно-методические пособия по Правилам дорожного
движения, которыми постоянно пользуются большинство автошкол
города и края.
Лекционные занятия в автошколе ведут квалифицированные преподаватели
с учеными степенями и званиями с применением современных компьютерных
технологий. Комплексный подход к обучению и разнообразие форм
позволяют максимально сократить усилия наших клиентов и сроки
усвоения ими учебного материала. Парк учебных автомобилей насчитывает
более 30 штук, включая иномарки.-
В
нижний контейнер ContentPlaceHolder3,
резервирующий место под нижний колонтитул, вставьте
примерно такой код
<strong> Автошкола Диалог-Сервис в целом работает без перерыва на обед и выходных с 8 часов утра до 9 часов вечера!!! </strong>
-
Поместите
в левую ячейку таблицы надпись, а из вкладки Standard панели Toolbox три гиперссылки
элемента управления HyperLink
Дескрипторный код содержимого левой ячейки таблицы, которое размещается внутри тегов <td></td>, будет примерно таким
<strong style="color: Blue">Наши филиалы:</strong><br /> <br /> <asp:hyperlink id="HyperLink1" runat="server">Ленинский район</asp:hyperlink><br /> <br /> <asp:hyperlink id="HyperLink2" runat="server">Центральный район</asp:hyperlink><br /> <br /> <asp:hyperlink id="HyperLink3" runat="server">Свердловский район</asp:hyperlink><br /> <br /> <asp:hyperlink id="HyperLink4" runat="server">Октябрьский район</asp:hyperlink>
Сейчас мы пока не определяем в гиперссылках элементы адресации до тех пор, пока не создадим несколько контекстных страниц, использующих эту мастер-страницу. Мы еще вернемся к этим гиперссылкам.
Итак, таблицу мы заполнили. Попробуем разместить еще что-нибудь ниже таблицы, например, товарный знак и страшилку от воров интеллектуальной собственности.
-
Отступите
ниже таблицы одну-две строчки и добавьте из вкладки HTML панели Toolbox элемент
управления Image.
Щелкните на нем правой кнопкой мыши и выполните
команду Run As Server Control,
чтобы содержимое элемента проявилось на будущей
контекстной
странице как заполнитель -
В
панели Solution Explorer вызовите
контекстное меню для папки MasterPages и
скопируйте в проект командой Add Existing
Item из
прилагаемого каталога Source рисунок LIGHT.ICO нашего
товарного знака, сворованный ранее из ресурсов
Большого Билла -
Через
панель Properties и свойство Src ( Source - источник) присоедините ссылку на файл LIGHT.ICO к
нашему компоненту отображения Image
-
Правее
товарного знака разместите заявку на интеллектуальную
собственность
Окончательный дескрипторный код этого раздела будет таким
<p style="text-align: right; color: Blue; font-family: 'Courier New'; font: bold italic">
<img id="IMG1" runat="server" src="LIGHT.ICO" />
Copyright © 2009
</p>-
Для
наглядности, поместите еще один контейнер в самом
низу мастер-страницы и внесите в него какой-нибудь
последний писк, например такой
<asp:ContentPlaceHolder ID="ContentPlaceHolder4" runat="server">
<strong><em>Вы уж, пожалуйста, наведывайтесь к нам почаще!</em></strong>
</asp:ContentPlaceHolder>И последний штрих к оформлению мастер-страницы - нужно отцентрировать все ее содержимое.
-
Найдите
вверху дескрипторного кода самый внешний дескриптор <div> и определите в нем
внутренний стиль CSS такой
<body>
<form id="form1" runat="server">
<div style="text-align: center">
..................................
</div>
</form>
</body>Наступил момент истины! Пора тиражировать контекстные страницы на базе созданной мастер-страницы и проверять сделанную работу. При этом не нужно забывать, что страница не должна быть слишком длинной. Наилучшей считается длина 1 - 2 экрана, максимум 3 экрана. Ширина непереносимого контекста страницы должна быть около 770 пикселов, чтобы свободно вписываться в разрешение монитора по ширине от 640 до 1024 px.
Создание контекстных страниц для мастер-страницы
В продолжение упражнения создадим 5 контекстных страниц с простыми именами:
- Satellites.aspx - первая страница, главная, не будет иметь свое содержимое, значит вся мастер страница проявится на выходе. Остальные три страницы будут переопределять все шаблоны мастер-страницы, кроме первого колонтитула, в котором находятся ссылки
- Satellite1.aspx - будет вызываться по первой ссылке в разделе "Наши филиалы" и переопределять содержимое всех контейнеров, кроме верхнего колонтитула
- Satellite2.aspx - будет вызываться по второй ссылке в разделе "Наши филиалы" ...
- Satellite3.aspx - будет вызываться по третьей ссылке в разделе "Наши филиалы" ...
- Satellite4.aspx - будет вызываться по четвертой ссылке в разделе "Наши филиалы" ...
Есть несколько способов создания с помощью оболочки контекстных страниц на базе готовой мастер-страницы. Применим эти способы последовательно к созданию наших страниц Satellite?



