» Главная
eXcode.ru » Статьи » ASP / ASP.NET
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 11





Шаблоны дизайна страниц




Что, прежде всего, отличает один Web-сайт от другого? Для простого пользователя сети Интернет основное отличие заключается в разнообразном дизайне странице. Прежде чем встретится с функциональными возможностями Web-приложения, посетитель сайта оценивает, нравится ли ему внешний вид страниц. Поэтому дизайн страниц является едва ли менее важным, чем общая функциональность.
   Задача разработчика писать код, а задача художника-дизайнера заниматься внешним оформлением и версткой HTML кода страниц. При этом в большинстве случаев необходимо обеспечить возможность параллельной работы над кодом приложения и HTML шаблоном. С этим весьма успешно справлялась технология разделения кода программной логики и HTML кода страницы Code-Behind. Но, при этом, при работе над каждой страницей, разработчику приходится, так или иначе, сталкиваться с разметкой страницы.
Стоит заметить, что большинство современных Web-сайтов имеют сходный внешний вид всех страниц и каждая страница имеет общие элементы дизайна. В ASP.NET 1.x общие элементы дизайна страниц заключали в пользовательские элементы управления и включались в каждую страницу, либо, наоборот, страницы преобразовывали в элементы управления, используя одну страницу в качестве основы в которую загружали элементы управления в зависимости от строки URL.
   Подход в ASP.NET 2.0 близок ко второму из названных подходов, но заключает в себе существенные преимущества. Разработчику больше нет нужды преобразовывать страницы в пользовательские элементы управления, что существенно упрощает разработку и отладку. А также существенно упрощает работу дизайнера, поскольку его задача сводится лишь во включении нескольких ASP.NET элементов в код страницы-шаблона. Для более подробного сравнения технологии шаблоновASP.NET 2.0 с существующими ранее техниками использования шаблонов рекомендуется обратится кстатье Фрица Оньена.

Создание шаблона дизайна

Шаблон дизайна страниц (Master pages) представляет собой обычную ASP.NET страницу, обладающую несколькими дополнительными атрибутами и свойствами и содержащую один или несколько специальных элементов управления ContentPlaceHolder. Для того чтобы преобразовать обычную страницу в шаблон, достаточно заменить директиву Page на директиву Master.
После этого необходимо вставить в разметку страницы серверные элементы управления ContentPlaceHolder, в те части страницы, где будет размещаться информация, не относящаяся к общему дизайну.

<%@ Master Language="C#" CodeFile="MainMaster.master.cs"Inherits="MainMaster_master" %><html>
<head runat="server"> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title>Моя домашняя страница</title></head>
<body><table width="100%">  <tr>    
<span id="PageTitle" runat="server"></span> </tr> <tr>
<table width="100%">
<tr>       
<td>
<sp:contentplaceholder id="PageMenu"
runat="server"></asp:contentplaceholder> </td>
<td>     <form runat="server">       
<asp:contentplaceholder id="PageContent" runat="server">
</asp:contentplaceholder>     
</form>    </td>  </tr></table></tr><tr>
<p align="right">Время: <span id="PageTime" runat="server"></span></p></tr>
</table></body></html>

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

<asp:contentplaceholder id="PageMenu" runat="server"><ul><li>
<a href="Default.aspx">Главная страница</a></li><li>
<a href="Contents.aspx">Оглавление</a></li></ul></asp:contentplaceholder>

Работа с элементами управления страницы шаблона ничем не отличается от работы с элементами управления для обычной страницы. Таким же образом можно определить методы и свойства, которые будут доступны всем страницам использующим данный шаблон.

protected void Page_Load(object sender, EventArgs e){
PageTime.InnerText = DateTime.Now.ToShortDateString();}
public string Title{  
get { return PageTitle.InnerText; }
set { PageTitle.InnerText = value; }}

Источник: www.cyberguru.ru

К началу статьи





Добавил: LedWormДата публикации: 2008-02-14 08:52:16

Рейтинг статьи:0.00 [Голосов 0]Кол-во просмотров: 6798
Оцените статью:

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какой марки ваш мобильник?
Nokia
40% (146)
Samsung
8% (29)
Siemens
16% (59)
Motorola
13% (49)
Sony Ericsson
13% (49)
LG
1% (4)
Pantech
0% (0)
Alcatel
2% (6)
Другой
3% (10)
Нет у меня мобилы
4% (15)

Проголосовало: 367
Пpогpаммеpы квасят на пpиpоде. Идут pазговоpы, тpали-вали... Один pассказывает: - Познакомился тут с девушкой на дискотеке! Бесподобная деваха! И фигуpка, и мозги есть, и танцует хоpошо! Так вот, pешил pickup"нуть ее к себе домой. Пpигласил, она согласилась. Пpишли, выпили винца, поговоpили о том, о сем, музыку послушали. Потом я ее поцеловал, пpиподнял аккуpатно, посадил задницей на клавиатуpу, поднял юбку... Остальные: - Так у тебя компутеp дома стоит?!?! А какой???
Рейтинг: 1.8/10 (5)
Посмотреть все анекдоты