<membership defaultProvider= "MyMembershipProvider">
<providers>
<add name= "MyMembershipProvider"
type= "System. Web. Security. SqlMembershipProvider"
…………………………………….
applicationName="/MusicInternetShop"
enablePasswordRetrieval= "true"
enablePasswordReset= "true"
requiresQuestionAndAnswer= "true"
requiresUniqueEmail= "true"
……………………………….
minRequiredPasswordLength= "7"/>
</providers>
</membership>
· Конфигурация системы аутентификации, подробнее о которой написано в пункте 4.5.2
<authentication mode= "Forms">
<forms name= "CookieName"
loginUrl= "Login.aspx"
…………………….
slidingExpiration= "true"
cookieless= "AutoDetect"
protection= "All"
path="/">
</forms>
</authentication>
· Конфигурация интерфейса Roles API, подробнее о котором написано в пункте 4.5.3.
<roleManager
defaultProvider= "MySqlProvider"
………………………………….
cookieName=".MyRoleCookie"
cookieTimeout= "20"
cookieSlidingExpiration= "true"
………………………………
createPersistentCookie= "false">
<add name= "MySqlProvider"
type= "System. Web. Security. SqlRoleProvider"
………………………………………
applicationName="/MusicInternetShop"/>
</roleManager>
· Конфигурация интерфейса Profiles API, подробнее о котором написано в пункте 4.6
<profile defaultProvider= "MySqlProvider" automaticSaveEnabled= "false">
type= "System. Web. Profile. SqlProfileProvider"
…………………………………………
<properties>
<add name= "Cart" type= "ComponentsShoppingCart. ShoppingCart" serializeAs= "Binary" allowAnonymous= "true"/>
…………………………………………………………………….
<add name= "SumPurchase" type= "decimal" serializeAs= "Binary"/>
</properties>
</profile>
Также в файле web.config находятся элементы конфигурации SMTP-сервера, уровни доступа к различным подкаталогам, модель генерации html-кода. Более подробное описание каждого элемента конфигурации приведено в соответствующих пунктах пояснительной записки. Полный код файла web.config приведён в приложении 1.
Файл global.asax позволяет определять обработчики событий, реагирующие на глобальные события web-приложения, такие как начало и завершение запроса, моменты завершения аутентификации и авторизации и многие другие. При разработке дипломного проекта был определён обработчик Profile_MigrateAnonymous, позволяющий переносить товары из временной корзины в корзину покупателя, когда пользователь входит в систему или регистрируется. Подробнее об этом написано в пункте 4.6.
4.2 Компоновка и оформление web-страниц
4.2.1 Мастер-страницы
Процесс создания web-приложения включает не только проектирование отдельных web-страниц, необходимо также обеспечить их интеграцию в завершённый, единообразный web-сайт. Каждая web-страница разрабатываемого web-приложения имеет содержит много одинаковых элементов, таких как различные заголовки, навигационные, поисковые и информационные панели. Для того чтобы использовать их на каждой web-странице, но при этом не размещать на ней их исходный код, а также обеспечить их одинаковое расположение, используются мастер-страницы.
Мастер-страницы представляют собой шаблоны web-страниц, которые могут определять фиксированное содержимое и объявлять часть web-страницы, в которую можно вставить динамическое содержимое. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Элемент Content является дескриптором верхнего уровня для страницы содержимого, она не содержит дескрипторов <html>, <head> и <body>, они наследуются из соответствующей мастер-страницы.
Чтобы связать страницу содержимого с необходимой мастер-страницей необходимо выполнить следующие действия:
· В директиве Page страницы содержимого указать путь к файлу мастер-страницы: MasterPageFile= "~/MasterPages/AdminMasterPage.master";
· В дискрипторе Content страницы содержимого полю ContentPlaceHolderID присвоить идентификатор элемента ContentPlaceHolder, расположенному на;
Ниже приведён текст мастер-страницы AdminMasterPage.master, для web-страниц, входящих в интерфейс администратора музыкального Интернет-магазина:
<%@ Master Language= "C#" AutoEventWireup= "true" CodeFile= "AdminMasterPage.master.cs"
Inherits= "MasterPages_AdminMasterPage"%>
<%@ Register Src="../UserControls/MenuAdmin.ascx" TagName= "MenuAdmin" TagPrefix= "uc"%>
<! DOCTYPE html PUBLIC "- //W3C //DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
……………………………………………………………
<head runat= "server">
<title>Untitled Page</title>
</head>
<body>
<form id= "form1" runat= "server" style= "text-align: center;">
………………………………………………………….
<tr>
<td colspan= "2" style= "vertical-align: middle; text-align: center; height: 150px;">
……………………………………………………………………….
<div class= "HeaderPageFont2">Интерфейс администратора</div>
</td>
</tr>
<td style= "width: 150px; vertical-align: top;">
…………………………………………….
<td style= "vertical-align: top; text-align: center; height: 700px; width: 850px;" class= "PageBackColor">
…………………………………………………………….
</asp: ContentPlaceHolder>
<td colspan= "2">
<span>copyright Луцкин Д.В. гр. №4231</span>
………
</form>
</body>
</html>
Она определяет компоновку и расположение всех повторяющихся элементов и страницы-содержимого. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Каждая страница содержимого для данной мастер страницы будет иметь следующий шаблон:
<%@ MasterPageFile= "~/MasterPages/AdminMasterPage.master" …%>
<asp: Content ID= "Content1" ContentPlaceHolderID= "ContentPlaceHolder1" Runat= "Server">
Содержимое соответствующей web-страницы.
</asp: Content>
На рисунках 8 и 9 представлена компоновка мастер-страниц AdminMasterPage.master и UserMasterPage.master, для web-страниц, входящих в интерфейс покупателя и администратора, соответственно.
4.2.2 Пользовательские элементы управления
Ещё одним средством стандартизации компоновки web-страниц ASP.NET, использованным при разработке дипломного проекта, являются пользовательские элементы управления (UserControl). Пользовательский элемент управления - это небольшая часть страницы, которая может содержать статический HTML-код и серверные элементы управления ASP.NET. Один и тот же пользовательский элемент управления может использоваться на множестве web-страниц. Применение пользовательских элементов управления значительно облегчает процесс отладки и модификации, а также позволяет более гибко использовать механизм кэширования. Подробнее о кэшировании пользовательских элементов управления описано в пункте 5.2.1.
Как уже было сказано выше, пользовательские элементы управления, как и web-страницы могут содержать в себе статический HTML-код и серверные элементы управления ASP.NET, а также имеют такой же жизненный цикл. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Далее приведён пример регистрации пользовательского элемента управления MenuGenre.ascx в мастер-странице UserMasterPage.master:
Рис. 8 "Компоновка мастер-страницы AdminMasterPage.master"
131
Рис. 9 "Компоновка мастер-страницы UserMasterPage.master"
<%@ Register Src="../UserControls/MenuGenres.ascx" TagName= "MenuGenres" TagPrefix= "uc"%>, где
· Src - путь к исходному файлу;
· TagPrefix - префикс дескриптора;
· TagName - имя дескриптора;
После этого элемент управления можно использовать на web-странице:
<uc: MenuGenres ID= "MenuGenres1" runat= "server" />
При разработке дипломного проекта были созданы различные пользовательские элементы управления, их полный список и назначение приведены в пункте 4.1.1.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17