Опубликован: 04.05.2010 | Уровень: для всех | Доступ: платный
Практическая работа 2:

Применение технологии ASP.NET в разрабатываемом Интернет-магазине

< Лекция 6 || Практическая работа 2: 12345 || Лекция 7 >

8.2.1. Добавление MasterPage

Новый созданный файл заменит для нас динамические веб-шаблоны из первого занятия. В самом master.master необходимо добавить два asp -компонента типа ContentPlaceHolder, которые и будут задавать область редактирования для страниц, использующих этот MasterPage. Ниже приведен код основной части файла master.master, который определяет две области, используемые страницами для отображения своего контента:

<div id="page_content">
		
		<div id="column_l">
		    <div id="column_l_content">	
			<asp:ContentPlaceHolder id="column_l_placeholder" runat="server">
                <h2>Headline 2</h2>
				<p>insert content here</p>	
            </asp:ContentPlaceHolder>
            </div>
		</div>
		<div id="column_r">
		    <div id="column_r_content">
			 <asp:ContentPlaceHolder id="column_r_placeholder" runat="server">
                <h3>Headline 3</h3>
				<p>insert content here</p>
            </asp:ContentPlaceHolder>
            </div>
		</div>
	</div>
Примечание: в следующих семинарах нам придется изменять код MasterPage , для добавления новых пунктов меню, а также для добавления еще одного PlaceHolder
Примечание: для того, чтобы создавать страницы, основанные на том или ином MasterPage 'е, необходимо при выборе пункт "Add New Item" выбирать шаблон "Web Form" и выделять условие "Select master page", так как это показано на рис. 8.11.
Добавление новых asp-страниц на сайт

увеличить изображение
Рис. 8.11. Добавление новых asp-страниц на сайт

Если при разработке мастера страниц выбрать выкладку Design или Split, то отобразится страница, изображенная на рис. 8.12.

Визуализация мастера страниц в Visual Studio 2008

увеличить изображение
Рис. 8.12. Визуализация мастера страниц в Visual Studio 2008

В таком режиме легко увидеть две области редактирования, а также остальные элементы страницы, включая меню.

8.2.2. Использование меню

Для навигации по сайтам часто используется компонент ASP – Menu. Это серверный компонент управления, который позволяет создавать вертикально или горизонтально ориентированные пункты меню. Пункты меню можно задать статически на странице aspx, либо добавлять их серверным кодом, например при выполнении метода Page_Load, либо указать объекту типа Menu источник данных определенной структуры. Компонент Menu позволяет создавать многоуровневые иерархические меню, принимая на себя обязанности, по подготовке кода, отвечающего за "всплытие" разделов меню. Ниже представлен код, используемый в мастере страниц:

<div id="navigation">
	    <asp:Menu ID="MainMenu" runat="server" Orientation="Horizontal" >
	    <StaticHoverStyle CssClass="MenuItemStyle_hover"/>
	    <StaticMenuItemStyle  CssClass="MenuItemStyle"/>
	    <DynamicHoverStyle CssClass="MenuItemStyle_hover"/>
	    <DynamicMenuItemStyle  CssClass="MenuItemStyle"/>
            <Items>
                <asp:MenuItem NavigateUrl="~/default.aspx" Text="Главная" Value="Главная"></asp:MenuItem>
                <asp:MenuItem NavigateUrl="~/products/default.aspx" Text="Продукты" Value="Продукты"></asp:MenuItem>
                <asp:MenuItem NavigateUrl="~/about/default.aspx" Text="О&nbsp;компании" Value="О компании"></asp:MenuItem>
                <asp:MenuItem NavigateUrl="~/contact/default.aspx" Text="Контактная информация" 
                  Value="Контактная информация"></asp:MenuItem>
            </Items>
        </asp:Menu>	
	</div>

В теге asp:Menu задается направление отрисовки пунктов меню, в данном случае – горизонтальное. Далее указываются стили, которые надо применять к статическим и динамическим (т. е. созданным серверным кодом) пунктам меню ( StaticMenuItemStyle и DynamicMenuItemStyle ), а также стили этих меню, когда на них наводят мышкой ( StaticHoverStyle и DynamicHoverStyle ). Далее идет описание самих пунктов меню, основными свойствами которых являются NavigateUrl и Text. Text отвечает за отображаемое название пункта меню, а NavigateUrl – за страницу, на которую будет перенаправлен пользователь, кликнувший по этому пункту меню.

Примечание: все ссылки в меню начинаются со знака "~", что обозначается корень сайта. При рендеренге страницы, адреса в NavigateUrl будут заменены на абсолютные адреса страниц.

После того, как мастер страниц разработан, можно переходить к разработке отдельных страниц.

8.2.3. Главная страница

Код главной страницы начинается с заголовка, в котором указано, что эта страница использует MasterPage файл Master.master

<%@ Page Title="" Language="C#" 
   MasterPageFile="~/Master.master" 
   AutoEventWireup="true" CodeFile="Default.aspx.cs" 
   Inherits="_Default" %>

Остальная часть файла состоит из двух частей: содержимого ContentPlaceHolder 'а с ID равным column_l_placeholder и содержимого ContentPlaceHolder 'а с ID равным column_r_placeholder. Содержимое asp:Content полностью совпадает с тем, что было разработано в первом семинаре. При этом в отличие от технологии dynamic web templates при использовании MasterPage не нужно дублировать один и тот же код в каждую страницу, и значит не нужно его каждый раз обновлять.

<asp:Content ID="Content1" ContentPlaceHolderID="column_l_placeholder" Runat="Server">
    <h1>Добро пожаловать в&nbsp;магазин велосипедов Adventure Works</h1>
				<p>Adventure Works Cycles&nbsp;&mdash;
вымышленная компания, на&nbsp;основе которой созданы образцы баз 
данных AdventureWorks,&nbsp;&mdash; является большой 
транснациональной производственной организацией. Компания изготавливает 
и&nbsp;продает велосипеды из&nbsp;металла и&nbsp;композитных 
материалов в&nbsp;Северной Америке, а&nbsp;также 
на&nbsp;европейском и&nbsp;азиатском рынках. Хотя основное 
производство расположено в&nbsp;городе Ботель, штат Вашингтон, 
и&nbsp;имеет 290&nbsp;служащих, существуют несколько региональных 
групп продаж, расположенных на&nbsp;территории рынков 
сбыта.</p>
				<p>В&nbsp;2000&nbsp;г. Adventure Works 
Cycles купила небольшой производственный завод Importadores Neptuno 
в&nbsp;Мексике. Предприятие Importadores Neptuno производит несколько 
важных наименований комплектующих для компании Adventure Works Cycles. 
Эти вспомогательные компоненты поставляются в&nbsp;Ботель для 
окончательной сборки продукции. В&nbsp;2001&nbsp;г. Importadores 
Neptuno стало единственным изготовителем и&nbsp;распространителем 
продуктов группы туристических велосипедов.</p>
				<p>Открывая успешный финансовый год, компания 
Adventure Works Cycles предполагает расширить свою долю 
на&nbsp;рынке, ориентируя продажи на&nbsp;лучших клиентов, 
расширяя доступность продукта с&nbsp;помощью веб-узла 
и&nbsp;уменьшая себестоимость продаж за&nbsp;счет снижения 
издержек производства.</p>
</asp:Content>

<asp:Content ID="Content2" 
   ContentPlaceHolderID="column_r_placeholder" 
   Runat="Server">
    <h3>Новинки!</h3>
			<img alt="" height="149" 
      src="images/Black_racer02_F_large.gif" 
      width="240" />
			<p>Travel in&nbsp;style and comfort. 
Designed for maximum comfort and safety. Wide gear range takes 
on&nbsp;all hills. High-tech aluminum alloy construction provides
 durability without added weight.</p>

</asp:Content>

Если запустить главную страницу, то она будет выглядеть почти также как и в первом семинаре (рис. 8.13).

Главная страница интернет магазина

увеличить изображение
Рис. 8.13. Главная страница интернет магазина

Аналогичным образом разрабатываются и все остальные страницы.

Отдельно стоит рассмотреть страницу продуктов, так как на ней мы покажем, каким образом в ASP.NET используются компоненты, для отображения таблиц с данными, рассмотрим, как обрабатываются различные серверные события на странице и как можно создавать и использовать собственные визуальные компоненты.

< Лекция 6 || Практическая работа 2: 12345 || Лекция 7 >
Зарина Каримова
Зарина Каримова
Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008
Akiyev Begench
Akiyev Begench
Беларусь, Полоцк, полоцкий государственный университет