Цель работы.
Целью данной лабораторной работы является изучение технологий построения интернет-приложений с реализацией DAL-уровня. Внедрение в приложение разработанной в первых четырёх лабораторных работах базы данных и возможности её дальнейшего поддержания и модификации.
Структура интернет-магазина.
Мой небольшой интернет-магазин содержит в себе базовые функции приложений такого типа. Для простоты восприятия программного кода магазин был построен без дизайна.
2.1. Админка
Главная страница администратора интернет-магазина. Включает в себя ряд пользовательских элементов управления, которые позволяют администратору сайта лёгко модифицировать данные о товарах, пользователях и всем, что с ними связано.
Для асинхронного обновления данных таблиц я использовал технологию Microsoft AJAX.
Пример кода страницы Admin.aspx
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<div style="float: left">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<h2>
Your oders</h2>
<asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="true" OnRowDeleting="GridView1_RowDeleting">
</asp:GridView>
В данном примере приведен код с таблицей пользователей. Программная логика расположена в файле Admin.cs
2.2. Логинка
Данная страница позволяет пользователям авторизоваться либо перейти на страницу регистрации на сайте.
<div style="width: 543px">
<h2>
Please type your Name and Password to enter...</h2>
<br />
<table class="style1">
<tr>
<td class="style2">
UserName
</td>
<td class="style3">
<asp:TextBox ID="TextBoxUN" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style2">
Password
</td>
<td class="style3">
<asp:TextBox ID="TextBoxPwd" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style2">
<asp:Button ID="RegistrButton" runat="server" OnClick="RegistrButton_Click" Text="Registration" />
</td>
<td class="style3">
<asp:Button ID="SubmitButton" runat="server" OnClick="SubmitButton_Click" Text="Submit" />
</td>
</tr>
<tr>
<td class="style2">
</td>
<td class="style3">
</td>
</tr>
</table>
</div>
2.3. Основная страница
Непосредственно сам интернет магазин. Позволяет покупать и просматривать информацию о товарах. Страница имеет динамический интерфейс.
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<div style="float: left; width: 400px; height: 30px">
<asp:Label ID="WelcomeLbl" runat="server" Text=""></asp:Label>
</div>
<div id="Search" style="float: left; width: 60%; height: 30px">
<asp:TextBox ID="TextBoxSearch" runat="server" Width="400px"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="Search" OnClick="Button2_Click" />
</div>
<div style="float: left; width: 100px; height: 30px">
<asp:LinkButton ID="ComplaintsButton" runat="server" OnClick="ComplaintsButton_Click">Complaints</asp:LinkButton>
<asp:LinkButton ID="LoginButton" runat="server" OnClick="LoginButton_Click">Login</asp:LinkButton>
</div>
<h1>
<br />
List of available products:</h1>
<div style="float: left">
<asp:GridView ID="GridViewGoods" runat="server" AutoGenerateSelectButton="true" OnSelectedIndexChanging="GridViewGoods_SelectedIndexChanging">
</asp:GridView>
</div>
<div style="float: left; width: 50px; height: 100px">
</div>
<div style="float: left">
<asp:ListBox ID="orderList" runat="server" Height="193px" Width="172px"></asp:ListBox>
<br />
<br />
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<div style="width: 300px; padding: 30px; position: absolute; left: 3%; top: 60%;
background-color: #f0f0f0">
Please login or register your account!
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Go to s-card" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div style="float: left; width: 50px; height: 100px">
</div>
<div style="float: left; background-color: #f0f0f0; width: 500px; height: 400px">
<div align="center" style="margin: 25px">
<asp:Image ID="Image1" runat="server" />
</div>
</div>
</div>