Разработка web-приложения "интернет-магазин"
Технологии создания web-страниц. Появление Active Server Pages. Разработка динамического web-сайта на asp.net. Создание дизайна и каркаса сайта с использованием стандартных HTML таблиц. Проектирование базы данных на основе ado.net и подключение к ней.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 24.05.2019 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Оглавление
Введение
1. Основные понятия разработки web-сайтов
1.1. Технологии создания web-страниц
1.2 Появление Active Server Pages
1.3 Web-разработка на ASP.NET
2. Разработка web-приложения «интернет-магазин»
2.1 Технические задачи
2.2 Создание дизайна
2.3 Создание базы данных и подключение к ней
Заключение
Список литературы
Введение
Интернет впервые был создан в 60-х гг. прошлого века как проект Министерства обороны США. Он получил название ARPANET (Advanced Research Projects Agency Network -- сеть Агентства по перспективным исследовательским проектам). Его основной целью было объединение различных компьютеров, разбросанных по Западному побережью США с тем, чтобы они могли взаимодействовать друг с другом даже в случае начала атомной войны. В то время компьютеры были очень редкими и дорогостоящими устройствами, которые могли позволить себе только университеты и правительственные организации. Связав воедино несколько компьютеров, можно было организовать общий доступ к различной информации и данным, что еще больше увеличивало ценность каждого отдельного компьютера. Протокол, предназначенный для работы в данной сети, был разработан таким образом, чтобы быть устойчивым к нарушениям целостности сети. Это было сделано для того, чтобы даже при выходе из строя в результате ядерной атаки одного или нескольких компьютеров, сеть сохраняла бы свою работоспособность.
Результатом разработки ARPANET явилось создание TCP/IP (Transmission Control Protocol/Internet Protocol -- протокол управления передачей/межсетевой протокол). Это протокол, позволяющий вести обмен сигналами, в которых содержатся компьютерные данные и информация, по телефонным линиям, по волоконно-оптическим кабелям и через спутники. Протокол TCP/IP позволяет различным компьютерам обмениваться между собой информацией по сети, и его принятие расчистило дорогу для появления Интернета в том виде, в котором он знаком нам сегодня.
На протяжении 70-х и 80-х гг. Интернет по-прежнему оставался, в основном,областью, в которой работали академические институты и правительственные учреждения, профессия разработчика интерактивных Web-приложений была сродни профессии шофера в начале XX века или космонавта -- в середине века. Как и в большинстве профессий, поначалу был просто врач, просто инженер, просто разработчик гипертекстовых страниц. В настоящее время уже довольно сложно разобраться во всевозможных профессиях, связанных с Интернетом, и инструментах для решения самых различных Интернет-задач.
Объект контрольной работы: структуры ASP.NET.
Предмет работы: WEB-разработка.
Цель: разработать WEB-сайт, основанный на технологии ASP.NET
Задачи, решение которых необходимо для достижения поставленной цели:
1. Рассмотреть современные технологии WEB-разработки.
2. Изучить основы XHTML.
3. Изучить основы ASP.NET.
4. Разработать динамический WEB-сайт.
Актуальность данной работы заключается в том, что с учетом скорости развития сети Интернет и направления e-commerce, рынок WEB-разработки огромен и очень перспективен.
web сайт дизайн каркас
1. Основные понятия разработки web-сайтов
1.1 Технологии создания web-страниц
Итак, Интернет -- это цельная связанная сеть компьютеров, которая охватывает весь земной шар. На миллионах серверов располагаются миллиарды web-страниц, групп электронной почты, дискуссионных страниц и FTP-сайтов. Интернет целиком работает в режиме онлайн, включая электронную почту, FTP, новости, Gophet-сайты, чат-программы и т. п. World Wide Web появилась позже Интернета. Первый web-сервер заработал в 1991 г., но на сегодняшний день Всемирная паутина -- это огромная часть Интернета, состоящая из взаимосвязанных web-страниц, в которых содержится текст, графика и мультипликация. Ключевым компонентом World Wide Web являются гиперссылки (текстовые или графические), которые позволяют пользователю переходить на другие web-страницы. Это оказывается возможным благодаря использованию HyperText Markup Language (HTML, язык гипертекстовой разметки)
Интернет представляет собой клиент-серверную систему. Т.е. вся информация хранится на серверах, которые по мере надобности посылают информацию клиентам. Сервер -- это приложение, выполняющееся на некотором компьютере и обеспечивающее доступ к информации, файлам или данным, которые запрашиваются каким-либо другим лицом, приложением или компьютером. Местоположение серверов определяется с помощью Uniform Resource Locator (URL -- универсальный указатель ресурса). Это особый адрес web-страницы, по которому она располагается в World Wide Web.
Клиентом называется особая часть программного обеспечения, выполняющаяся на компьютере. Наиболее распространенным клиентом в Интернете является браузер -- специальная программа, позволяющая пользователю вводить адреса или использовать гиперссылки на web-страницах для поиска новых web-страниц. Она управляет отправкой запросов web-серверу и выводом на экран полученной от web-сервера web-страницы.
Вся работа по отправеке и получению web-страниц ведется через протокол HTTP (Hypertext Transfer Protocol). Это прикладной протокол, позволяющий браузерам и серверам взаимодействовать друг с другом и обмениваться между собой данными.
Использование одного лишь HTML невозможно в наше время. Во-первых это связано с созданием web-страниц: очень сложно обновлять страницы вручную. Во-вторых, в чистом HTML отсутствует какая-либо интерактивность и возможность взаимодействовать с серверами на пользовательском уровне. Например, не было бы почтовых служб, чатов и форумов. Проще говоря, это означало бы полную статичность.
Чтобы «оживить» Web, т.е. перейти от структурного предъявления гипертекстовой информации к событийному был разработан DHTML (Dynamic HyperText Markup Language). Основной отличительной особенностью DHTML от HTML является возможность взаимодействия DHTML-документов с пользователем на клиентском компьютере, что в значительной степени обогащает возможности создаваемых с их помощью Web-страниц и Web-приложений и в то же время сводит часть взаимодействия пользователя с сервером к взаимодействию пользователя с DHTML-документом.
Динамичность осуществляется при помощи языков сценариев, таких как JavaScript и VBScript. Но эта динамичность присуща только для клиентской части, взаимодействие с сервером все так же остается на примитивном уровне и позволяет отправлять всем пользователям только одну и ту же статическую информацию.
Поэтому был разработан Common Gateway Interface (CGI -- интерфейс общего шлюза), который позволял web-страницам вызывать приложения, расположенные на web-серверах. Такие приложения могли создаваться на произвольном языке программирования, но чаще всего они писались на C/C++ или на Perl. Но CGI требовало огромных ресурсов,- для каждого подключившегося к серверу пользователя запускался свой экземпляр CGI, ни один популярный сервер не смог бы работать в нормальном режиме.
В итоге было создано большое количество различных инструментов и языков программирования, которые позволяют создавать активные web-страницы. Вот некоторые из этих технологий:
* Active Server Pages
* PHP
* ColdFusion
* WebSphere
* Java Server Pages
Несмотря на то, что PHP является лидером этой сферы деятельности, ASP даёт программистам большую свободу и простоту. Главным недостатком является цена и производительность Windows серверов.
1.2 Появление Active Server Pages
ASP.NET -- это новая технология (то есть технология следующего поколения) для создания серверных Web-приложений производства Microsoft. Она входит в состав платформы Microsoft.NET Framework, которая представляет собой набор тесно связанных между собой новых, ставших революционными технологий, начиная от технологии для получения доступа к базам данных и заканчивая технологией для создания распределенных приложений. ASP.NET является одним из самых важных компонентов .NET Framework и позволяет разрабатывать высокопроизводительные Web-приложения и Web-службы.
Появление версии ASP.NET 1.0 стало настоящей революцией в мире Web-программирования. Она пользовалась такой бешеной популярностью, что еще на этапе бета-тестирования была установлена (через программу лицензирования Microsoft Go-Live) на множестве коммерческих Web-серверов. Выпущена версия ASP.NET 1.0 была только в начале 2002 года. Версия ASP.NET 1.1 такого ажиотажа уже не вызвала. Она явилась своего рода возможностью для разработчиков Microsoft передохнуть и собраться с силами. B ASP.NET 1.1 внимание уделялось не новым функциональным возможностям (таковых в ней вообще не было), а повышению производительности, настройке системы безопасности и устранению некоторых незначительных дефектов, Новые функциональные возможности потихоньку "откладывались в длинный ящик" и припрятывались до прихода более подходящих времен, то есть до выхода следующей крупной версии -- ASP.NET 2.0.
Версия ASP.NET 1.1 была выпущена в конце 2003 года и закрепила за ASP.NET статус наиболее предпочитаемой платформы для Web-разработки среди профессиональных разработчиков, Два года спустя на горизонте наконец-то появилась версия ASP.NET 2.0. В отличие от ASP.NET 1.0. ASP.NET 2.0 не стала началом нового направления в Web-разработке. На самом деле, практически вся лежащая в основе этой версии архитектура почти ничем не отличается от той, что была в версии ASP.NET 1.0. Разница состоит в том, что в ASP.NET 2.0 к существующей технологии добавились некоторые новые функциональные возможности более высокого уровня. В принципе, после успеха версии ASP.NET 1.0, Microsoft не жалела ни сил разработчиков, ни времени, ни ресурсов на планирование и подготовку версии ASP.NET 2.0. Поскольку переписывать код механизма ASP.NET больше было не нужно, разработчики, занимавшиеся версией ASP.NET 2.0. смогли добавить новые элементы управления, создать более гибкие решения для управления данными, построить основанную на ролях модель безопасности и даже создать целый набор инструментальных средств для разработки портальных Web-сайтов. ASP.NET 2.0 дает разработчикам возможность расслабиться и порадоваться множеству новых функций, которые были разработаны для их любимой платформы.
1.3 Web-разработка на ASP.NET
Как уже было сказано ранее, ASP.NET входит в .NET Framework. Среда .NET Framework содержит тщательно отобранную коллекцию функциональных частей с поразительным общим количеством -- более 7000 типов. Стандартными языками разработки ASP.NET являются Visual C# и Visual Basic.
Cпособ использования классов в .NET Framework в ASP.NET ничем не отличается от способа их применения в любом другом типе приложения .NET. Это значит, что, изучив программирование стандартных Windows-приложений, мы сможем применять большую часть полученных знаний и в программировании Web.
Приложения ASP.NET всегда компилируются. В действительности каждый раз проходят два этапа компиляции. На первом этапе написанный нами код С# компилируется в код промежуточного языка под названием Microsoft Intermediate Language (MSIL), или просто IL. Этот первый шаг является фундаментальной причиной взаимозависимости .NET от языков. По сути, все языки .NET (включая С#, Visual Basic и многие другие) компилируются в фактически идентичный код IL. Этот первый этап компиляции может произойти автоматически при первом запросе страницы, или же его можно выполнить заранее (этот процесс известен как предварительная компиляция). Скомпилированный файл с кодом IL является сборкой.
Второй этап компиляции наступает непосредственно перед фактическим выполнением страницы. На этом этапе код IL компилируется в низкоуровневый собственный машинный код. Этот этап известен как оперативная компиляция "точно к нужному моменту" (Just-In-Time -- JIT) и он проходит одинаково для всех приложений .NET
Вся среда .NET Framework -- то есть все пространства имен, приложения и классы - называется управляемой. Это значит, что происходят следующие процессы:
· Автоматическое управление памятью и сборка мусора.
· Безопасность типов. При компиляции приложения .NET добавляет к сборке информацию о доступных классах, их членах, типах данных и т.д.
· Расширяемые метаданные. Информация о классах и элементах является лишь одним из типов метаданных, хранимых .NET в скомпилированной сборке.
· Структурированная обработка ошибок.
· Многопоточностъ. .NET Framework предоставляет пул потоков, которые могут использоваться различными классами. Например, можно асинхронно вызывать методы, читать файлы либо взаимодействовать с Web-службами без необходимости явного создания новых потоков.
ASP.NET является объектно-ориентированной средой. Ваш код не только имеет полный доступ ко всем объектам в .NET Framework, вы также можете эксплуатировать все условные обозначения объектно-ориентированного программирования (ООП). Например, вы можете создавать повторно используемые классы, стандартизовать код в соответствии с интерфейсами и объединять полезные функции в распределяемом скомпилированном компоненте.
Один из лучших примеров объектно-ориентированного мышления в ASP.NET можно найти в серверных элементах управления. Серверные элементы управления представляют собой инкапсуляцию в миниатюре. Разработчики могут программно манипулировать объектами управления с использованием кода для настройки их внешнего вида, предоставления данных для отображения и даже реакции на события.
Одним из самых сложных испытаний, предстоящих Web-разработчикам, является большое количество браузеров, которые необходимо поддерживать. Различные браузеры, версии и конфигурации по-разному поддерживают HTML. Web-разработчики должны выбирать, следует ли формировать содержимое в соответствие со стандартом HTML 3.2, HTML 4.0 или же с чем-либо другим вроде XHTML 1.0 или даже WML для мобильных устройств.
ASP.NET решил эту проблему удивительно разумным способом. Несмотря на то, что мы можем извлекать информацию о браузере клиента и его свойствах внутри страницы ASP.NET, ASP.NET фактически побуждает разработчиков игнорировать эти соображения и использовать обширный набор элементов управления Web- сервера. Эти серверные элементы управления генерируют HTML, адаптируясь к возможностям клиента. Одним из примеров являются элементы управления верификацией ASP.NET, использующие JavaScript и DHTML (динамический HTML) для совершенствования своего поведения, если оно поддерживается клиентом. Это позволяет элементам управления верификацией отображать сообщения о динамических ошибках без необходимости отправки пользователем страницы серверу для продолжения обработки.
Ещё одной сложной проблемой, предстающей перед разработчиками, является развертывание готового приложения на производственном сервере. Каждая инсталляция .NET Framework предоставляет одинаковые базовые классы. Поэтому развертывание приложения ASP.NET является относительно простым. В большинстве случаев просто потребуется скопировать все файлы в виртуальный каталог на сервере.
Конфигурирование является еще одной задачей, связанной с развертыванием приложения, в особенности при необходимости передачи информации о безопасности, такой как учетная запись и привилегии пользователя. ASP.NET упрощает процесс развертывания, сводя к минимуму зависимость от настроек IIS (Internet Information Services -- информационные службы Internet). Вместо этого большинство установок ASP.NET хранится в специальном файле web.config.
Файл web.config помещается в тот же каталог, что и Web-страницы. Он содержит иерархически сгруппированные настройки приложения, хранимые в удобочитаемом формате XML, который можно редактировать с использованием простого текстового редактора, подобного Notepad. При изменении настройки приложения ASP.NET замечает это изменение и перезапускает приложение в новом домене приложения (поддерживая существующий домен приложения вплоть для завершения обработки каких-то невыполненных запросов). Файл web.config никогда не блокируется, поэтому его можно обновлять в любое время.
2. Разработка web-приложения «интернет-магазин»
2.1 Технические задачи
1. Разработать дизайн и каркас для Web-сайта.
2. Создать подключение к базе данных на основе ADO.NET.
3. Осуществить:
· реализацию соответствия стандарту XHTML 1.0;
· создание базы данных каталога компьютерных игр;
· первичное наполнение базы данных;
· сохранение новой информации в базе данных;
· удаление информации из базы данных;
· изменение данных;
· сохранение измененных данных в базе;
· динамическое создание элементов Web-сайта с использованием файлов;
2.2 Создание дизайна
В качестве IDE для создания сайта используется Visual Studio 2012. Создаем новый проект, для этого находим пункт меню File/New Web Site. В появившемся окне New Web Site выбираем ASP.NET Web Site. Далее я определю путь, где будет храниться наш сайт, а также язык программирования - Visual C#.
Для создания дангого сайта на платформе asp.net использовался фреймворк для создания веб-приложений mvc 5.
Для создания каркаса сайта я использовал стандартные HTML таблицы.
Настраиваю размеры и цвета каждой отдельной ячейки используя CSS (каскадные таблицы стиля).
Рисунок 1 - создание проекта
Рисунок 2 - верстка при помощи таблиц HTML
Рисунок 3 - использование CSS
2.3 Создание базы данных и подключение к ней
Для интернет-магазина потребуется создать базу данных в которой будет храниться информация о каталоге игр, которые доступны для продажи. В качестве первого шага в Visual Studio необходимо создать подключение к базе данных. Откройте окно Server Explorer и щелкните на кнопке Connect to Database (Подключиться к базе данных. Появится диалоговое окно Add Connection (Добавление подключения). Введите для имени сервера, например ".\SQLEXPRESS" -- специальное имя, которое указывает на необходимость работы с локальной СУБД SQL Server Express.
Удостоверьтесь, что выбран переключатель Use Windows Authentication (Использовать аутентификацию Windows) и установите имя базы данных.
Рисунок 4 - создание БД
Щелкните на кнопке OK. Вскоре отобразится диалоговое окно с запросом о создании новой базы данных. Щелкните в нем на кнопке Yes (Да) и в окне Server Explorer появится новый элемент. Развернув этот элемент, можно просмотреть различные аспекты только что созданной базы данных:
Навигация по сайту
При запуске программы мы оказываемся на главной странице интернет магазина рис. 6
Рисунок 5 - созданная БД
Рисунок 6
Здесь мы видим товар и можем выбрать , для упрощения поиска можно воспользоваться кнопками соответствующей товару который мы ищем, к примеру раздел Футбольная форма Рис. 7.
Рисунок 7
Здесь мы выбираем себе нужную нам форму. Чтобы оформить заказ нажимаем кнопку «Добавить в корзину» далее нас переводит в нашу корзину где мы продолжаем оформлять заказ либо продолжить свои покупки нажав кнопку «продожить покупки».
Рисунок 8
Когда закончите все покупки нажимаем кнопку оформить заказ выходит форма заполнения заказа где вбиваем данные для отправки товара.
Рисунок 9
Также работает Админ панель, где мы можем зайти на сайт интернет магазина в качестве администратора, введя пароль и логин , и выполнить изменения необходимые нам в товаре, цене и тд.
Для этого в адресной строке вводим http://localhost:53985/admin/index
Рисунок 10
Также можно изменить, удалить или добавить нужный нам товар
Рисунок 11
Листинг программы
Создание Базы данных используя контекст данных
Контекст данных это класс который используется для доступа данных хранящихся в базе данных.
Чтобы использовать этот класс мы должны установить в проект entity framework.
using GameStore.Domain.Entities;
using System.Data.Entity;
namespace GameStore.Domain.Concrete
{
public class EFDbContext : DbContext
{
public DbSet<Game> Games { get; set; }
public EFDbContext(string connectionString) : base(nameOrConnectionString: connectionString)
{ }
}
}
using System.Collections.Generic;
using GameStore.Domain.Entities;
using GameStore.Domain.Abstract;
using System.Web;
namespace GameStore.Domain.Concrete
{
public class EFGameRepository : IGameRepository
{
EFDbContext context;
public EFGameRepository()
{
string mdfFilePath = HttpContext.Current.Server.MapPath("~/App_Data/GameStore.mdf");
context = new EFDbContext(string.Format(@"Data Source=(LocalDB)\v11.0;;AttachDbFilename={0};Integrated Security=True", mdfFilePath));
//context = new EFDbContext(string.Format(@"Data Source=.\SQLEXPRESS;AttachDbFilename={0};Integrated Security=True;User Instance=True", mdfFilePath));
}
public IEnumerable<Game> Games
{
get { return context.Games; }
using System.Net;
using System.Net.Mail;
using System.Text;
using GameStore.Domain.Abstract;
using GameStore.Domain.Entities;
namespace GameStore.Domain.Concrete
{
public class EmailSettings
{
public string MailToAddress = "orders@example.com";
public string MailFromAddress = "store@example.com";
public bool UseSsl = true;
public string Username = "MySmtpUsername";
public string Password = "MySmtpPassword";
public string ServerName = "smtp.example.com";
public int ServerPort = 587;
public bool WriteAsFile = true;
public string FileLocation = @"D:\store_emails";
}
public class EmailOrderProcessor : IOrderProcessor
{
private EmailSettings emailSettings;
public EmailOrderProcessor(EmailSettings settings)
{
emailSettings = settings;
}
public void ProcessOrder(Cart cart, ShippingDetails shippingInfo)
{
using (var smtpClient = new SmtpClient())
{
smtpClient.EnableSsl = emailSettings.UseSsl;
smtpClient.Host = emailSettings.ServerName;
smtpClient.Port = emailSettings.ServerPort;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials
= new NetworkCredential(emailSettings.Username, emailSettings.Password);
if (emailSettings.WriteAsFile)
{
smtpClient.DeliveryMethod
= SmtpDeliveryMethod.SpecifiedPickupDirectory;
smtpClient.PickupDirectoryLocation = emailSettings.FileLocation;
smtpClient.EnableSsl = false;
}
StringBuilder body = new StringBuilder()
.AppendLine("Новый заказ обработан")
.AppendLine("---")
.AppendLine("Товары:");
foreach (var line in cart.Lines)
{
var subtotal = line.Game.Price * line.Quantity;
body.AppendFormat("{0} x {1} (итого: {2:c}",
line.Quantity, line.Game.Name, subtotal);
}
body.AppendFormat("Общая стоимость: {0:c}", cart.ComputeTotalValue())
.AppendLine("---")
.AppendLine("Доставка:")
.AppendLine(shippingInfo.Name)
.AppendLine(shippingInfo.Line1)
.AppendLine(shippingInfo.Line2 ?? "")
.AppendLine(shippingInfo.Line3 ?? "")
.AppendLine(shippingInfo.City)
.AppendLine(shippingInfo.Country)
.AppendLine("---")
.AppendFormat("Подарочная упаковка: {0}",
shippingInfo.GiftWrap ? "Да" : "Нет");
MailMessage mailMessage = new MailMessage(
emailSettings.MailFromAddress,
emailSettings.MailToAddress,
"Новый заказ отправлен!",
body.ToString());
if (emailSettings.WriteAsFile)
{
mailMessage.BodyEncoding = Encoding.UTF8;
mailMessage.HeadersEncoding = Encoding.UTF8;
}
smtpClient.Send(mailMessage);
}
}
}
}
Далее мы прописываем поля и разделы которые мы увидими когда запустится панель администатора, для добавления, изменения, удаления товара, его редактирования. Создаем форму оформления заказа, где будут указаны фамилия, имя, адрес получателя.
using System.Collections.Generic;
using System.Linq;
namespace GameStore.Domain.Entities
{
public class Cart
{
private List<CartLine> lineCollection = new List<CartLine>();
public void AddItem(Game game, int quantity)
{
CartLine line = lineCollection
.Where(g => g.Game.GameId == game.GameId)
.FirstOrDefault();
if (line == null)
{
lineCollection.Add(new CartLine
{
Game = game,
Quantity = quantity
});
}
else
{
line.Quantity += quantity;
}
}
public void RemoveLine(Game game)
{
lineCollection.RemoveAll(l => l.Game.GameId == game.GameId);
}
public decimal ComputeTotalValue()
{
return lineCollection.Sum(e => e.Game.Price * e.Quantity);
}
public void Clear()
{
lineCollection.Clear();
}
public IEnumerable<CartLine> Lines
{
get { return lineCollection; }
}
}
public class CartLine
{
public Game Game { get; set; }
public int Quantity { get; set; }
}
}
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;
namespace GameStore.Domain.Entities
{
public class Game
{
[HiddenInput(DisplayValue=false)]
public int GameId { get; set; }
[Display(Name="Название")]
[Required(ErrorMessage="Пожалуйста, введите название товара")]
public string Name { get; set; }
[DataType(DataType.MultilineText)]
[Display(Name="Описание")]
[Required(ErrorMessage = "Пожалуйста, введите описание для товара")]
public string Description { get; set; }
[Display(Name = "Категория")]
[Required(ErrorMessage = "Пожалуйста, укажите категорию для товара")]
public string Category { get; set; }
[Display(Name = "Цена (руб)")]
[Required]
[Range(0.01, double.MaxValue, ErrorMessage = "Пожалуйста, введите положительное значение для цены")]
public decimal Price { get; set; }
public byte[] ImageData { get; set; }
public string ImageMimeType { get; set; }
}
}
using System.ComponentModel.DataAnnotations;
namespace GameStore.Domain.Entities
{
public class ShippingDetails
{
[Required(ErrorMessage = "Укажите как вас зовут")]
public string Name { get; set; }
[Required(ErrorMessage = "Вставьте первый адрес доставки")]
[Display(Name="Первый адрес")]
public string Line1 { get; set; }
[Display(Name = "Второй адрес")]
public string Line2 { get; set; }
[Display(Name = "Третий адрес")]
public string Line3 { get; set; }
[Required(ErrorMessage = "Укажите город")]
[Display(Name = "Город")]
public string City { get; set; }
[Required(ErrorMessage = "Укажите страну")]
[Display(Name = "Страна")]
public string Country { get; set; }
public bool GiftWrap { get; set; }
}
}
[assembly: WebActivator.PreApplicationStartMethod(typeof(GameStore.WebUI.App_Start.NinjectWebCommon), "Start")]
[assembly: WebActivator.ApplicationShutdownMethodAttribute(typeof(GameStore.WebUI.App_Start.NinjectWebCommon), "Stop")]
namespace GameStore.WebUI.App_Start
{
using System;
using System.Web;
using Microsoft.Web.Infrastructure.DynamicModuleHelper;
using Ninject;
using Ninject.Web.Common;
public static class NinjectWebCommon
{
private static readonly Bootstrapper bootstrapper = new Bootstrapper();
/// <summary>
/// Starts the application
/// </summary>
public static void Start()
{
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
bootstrapper.Initialize(CreateKernel);
}
/// <summary>
/// Stops the application.
/// </summary>
public static void Stop()
{
bootstrapper.ShutDown();
}
/// <summary>
/// Creates the kernel that will manage your application.
/// </summary>
/// <returns>The created kernel.</returns>
private static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
RegisterServices(kernel);
return kernel;
}
/// <summary>
/// Load your modules or register your services here!
/// </summary>
/// <param name="kernel">The kernel.</param>
private static void RegisterServices(IKernel kernel)
{
System.Web.Mvc.DependencyResolver.SetResolver(new
GameStore.WebUI.Infrastructure.NinjectDependencyResolver(kernel));
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace GameStore.WebUI
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(null,
"",
new
{
controller = "Game",
action = "List",
category = (string)null,
page = 1
}
);
routes.MapRoute(
name: null,
url: "Page{page}",
defaults: new {controller = "Game", action = "List", category = (string)null},
constraints: new { page = @"\d+" }
);
routes.MapRoute(null,
"{category}",
new { controller = "Game", action = "List", page = 1 }
);
routes.MapRoute(null,
"{category}/Page{page}",
new { controller = "Game", action = "List" },
new { page = @"\d+" }
);
routes.MapRoute(null, "{controller}/{action}");
}
}
}
Заключение
В процессе выполнения данной контрольной работы поставленные задачи и цель были выполнены. Представлены общие сведения о технологии ASP.NET.
В первой главе были рассмотрены основные понятия разработки, сущность и организация ASP.NET. Также были рассмотрены все основные технологии разработки и основные отличительные особенности ASP.NET от них. Был проведен сравнительный анализ современной ASP.NET с её предшественниками. Найдены основные предпосылки появления и история данной технологии. Достаточно подробно был изучен алгоритм разработки Web-сайтов, а также рассмотрены модели использования HTML server controls и Web controls.
Во второй главе работы были реализованы все поставленные технические задачи. Было осуществлено создание каркаса и дизайна сайта в соответствие со стандартом XHTML. Было осуществлено подключение к базе данных посредством Microsoft SQL Server Database File, сгенерирован не только Select, но и Update, Insert и Delete queries. Web-сайт позволяет добавлять и удалять информацию о товаре магазина, изменять данные и сохранять все произведенные изменения.
web сайт дизайн каркас
Список использованной литературы
1. Карли Ватсон - С#, Издательство "Лори", Москва, 2005.
2. Вильямс - Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов, Москва, 2006.
3. Matthew MacDonald - Beginning ASP.NET 3.5 in C# 2008: From Novice to Professional, Second Edition, 2007
4. Matthew MacDonald and Mario Szpuszta - Pro ASP.NET 3.5 in C# 2008, Second Edition, 2007
Размещено на Allbest.ru
Подобные документы
Работа с HTML-редактором Adobe Dreamweaver. Этапы и правила построения заглавной страницы сайта, форматирования HTML-страниц, создания гипертекстовых ссылок, создания и форматирования таблиц. Использование графических материалов при разработке сайта.
методичка [1,9 M], добавлен 06.07.2011Рассмотрение средств создания web-страниц: HTML, CSS и РНР. Разработка приложения в PhpMyAdmin, работающего с базой данных "Спортивные организации города". Соединение с сервером и базой данных. Создание сайта "Институт" в Macromedia Dreamweaver 8.
курсовая работа [461,8 K], добавлен 10.07.2015Методы и технологии создания виртуальных магазинов. Программные средства для создания сайта. Разработка php-модуля. Технические возможности СУБД MySQL. Приложения для создания графики и дизайна. Логическая структура сайта. Разработка базы данных.
курсовая работа [248,1 K], добавлен 24.04.2012Разработка Web-сайта с подключенной к нему базой данных для управления пользователями, их авторизацией и регистрацией. Подключение базы данных к сайту. Использование технологии AJAX. Виды SQL инъекций и способы защиты базы данных от попыток взлома.
дипломная работа [2,9 M], добавлен 13.02.2016Отличительные особенности языков программирования PHP и CSS. Возможности компактного многопоточного сервера баз данных MySQL. Системный анализ предметной области, проектирование ее инфологической модели. Создание базы данных и web-страниц сайта магазина.
курсовая работа [1,0 M], добавлен 15.01.2013Основные технологии разработки ресурсов Интернет. Процесс разработки веб-сайта. Понятие Web-сайта и классификация Web-сайтов. Основные этапы разработки Web-сайта. Использование HTML, CSS, JavaScript, FLASH, PHP и реляционной базы данных MySQL.
презентация [1,3 M], добавлен 28.11.2015Создание основы интернет-сайта - набора таблиц, которые расположены в нужном порядке. Использованные теги и их атрибуты. Кодовое оформление сайта, наложение второго слоя. Стильный текст в HTML. Использование скриптов для большей информативности сайта.
методичка [813,6 K], добавлен 08.11.2013Особенности программирования на языке HTML и JavaScript. Основные стили форматирования текста. Анализ основных приемов и методов создания страниц, рисунков, таблиц и гиперссылок. Основные цвета и их коды. Разработка собственного сайта и его презентация.
курсовая работа [61,3 K], добавлен 29.01.2016Язык маркировки гипертекстов HTML, основа создания web-страниц. История спецификаций, каскадные таблицы стилей CSS. Способы определения таблиц стилей (стилевого шаблона). Язык подготовки сценариев JavaScript, его использование. Программный код web сайта.
курсовая работа [26,9 K], добавлен 05.07.2009Особенности создания страниц на языке APS.NET, создание и формы обращение к базам данных. Интерфейс автоматического вывода определнного столбца базы данных в элементы управления. Структура базы данных, принцип работы страниц сайта, настройка приложения.
курсовая работа [387,3 K], добавлен 02.03.2010