Знакомство с ASP.NET

Что еще нужно знать об ASP.NET

Взаимодействие с клиентом

Создание интерактивных приложений для intranet-сетей

Расширение функциональных возможностей intarnet

Создание спортивного Web-узла

Управление содержимым Web-узла

Отслеживание действий посетителейa

Виртуальный университет

 Использование специализированных приложений на узлах компаний

Виртуальная риэлтерская контора

Персонализация узла для посетителей

Интерактивные возможности узла

Увеличение посещаемости узла

Создание интерактивного магазина

Создание интерактивного аукциона

Web-службы

Справочник по языку ASP.NET/VB.


Сайт создан по материалам книги Г. Бучека "Учебный курс по ASP.NET". Москва: BHV, 2002.

Создатель сайта-выпускник курсов web-дизайнеров Сафоновского Колледжа Информационных Технологий Максим Котликов

Создание интерактивного аукциона

В предыдущей главе мы рассмотрели приложение, которое позволяет посетителю выбирать и заказывать товар в магазине. Приложение, представленное в настоящей главе, также дает возможность посетителю получить информацию о товарах. Однако в этом случае товары реализуются через аукцион.

Аукционы предоставляют компаниям дополнительную возможность по распространению продукции. Очень часто их используют для продажи товаров, представленных в ограниченном количестве или, скажем, бывших в употреблении, даже подлежащих ремонту. С помощью рассматриваемого в этой главе приложения посетитель записывается на аукцион, а затем предлагает цену за любой из выставленных на торг лотов. Цена, указанная посетителем, должна быть не ниже стартовой и выше предложенной другими участниками аукциона — лишь при этом условии он сможет приобрести заинтересовавший его товар.

Описание проекта

Как только посетитель попадет на Web-узел Аукцион, он увидит страницу, которая показана на рис.


Страница Регистрация интерактивного аукциона

На странице отображается приветствие «Добро пожаловать на аукцион!». Если посетитель ранее уже принимал участие в аукционе, ему следует ввести свое имя и пароль. В противном случае необходимо щелкнуть на ссылке Новый участник, с тем чтобы попасть на страницу с таким же названием .


Страница участник

На этой странице посетитель вводит данные о себе. При этом необходимо заполнить абсолютно все поля, а пароль рекомендуется ввести даже дважды. Причем желательно, чтобы указанное имя было оригинальным, то есть не использовалось каким-либо другим посетителем (насколько это важно, вы поймете, рассматривая код этой страницы).

Как только посетитель правильно внесет все данные о себе или введет свое имя и пароль на странице Регистрация, он сразу попадет на страницу Лоты.


Страница Лоты

С помощью элемента управления DataGrid на данную страницу выводится перечень всех лотов, которые еще не сняты с аукциона (при этом учитывается дата закрытия торгов по каждому из них). Посетитель может отсортировать данные с помощью элемента управления DataGrid, выполнив щелчок на заголовке нужного столбца.

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


Страница Лоты, на которой все лоты отсортированы по стартовой цене

Для того чтобы просмотреть полную информацию о лоте, достаточно щелкнуть мышью на его названии в управляющем элементе DataGrid. После этого посетитель попадет на страницу Лот.


Страница Лот

В верхней части страницы приведена вся информация о лоте. Ниже, в управляющем элементе DataGrid, посетитель видит всю историю торгов по этому лоту. На странице Лот, щелкнув на любом столбце элемента DataGrid, можно отсортировать хранящиеся в нем данные,

В нижней части страницы находится поле ввода, в котором посетитель может предложить свою цену за лот. Средствами кода в этом поле реализовано отображение минимальной цены, которую может предложить посетитель. Это значение рассчитывается как сумма самого последнего предложения и минимального значения, на которое можно увеличить заявку. Если на выставленный на аукцион лот еще не было сделано ни одной заявки, указывается начальная цена. Посетитель должен ввести значение, не меньшее указанного в данном поле. Когда он нажимает кнопку ОК, его заявка добавляется в элемент управления Data-Grid. При следующем предложении цены учитывается значение, только что введенное посетителем.

База данных проекта

База данных, предназначенная для управления интерактивным аукционом, состоит из трех взаимосвязанных таблиц. Отношения между этими таблицами схематически показаны на рис.


Таблицы базы данных интерактивного аукциона

В таблице Bidders содержится информация о посетителях, которые принимают участие в аукционе на этом Web-узле, а в таблице Auctionltems — данные о каждом из выставленных на торги лоте.

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

Для реализации указанного отношения необходимо иметь связующую (промежуточную) таблицу, которая находится в отношении «один-ко-многим» к таблицам Bidders и Auctionltems. В данном случае таковой является таблица Аис-tionltemBids. В нее помещаются все предложенные участниками аукциона суммы по всем лотам.

Таблица Bidders (файл Bidders.txt)
Имя поля Тип данных Примечания
BlddersID int Первичный ключ, идентификационный столбец
BidderName varchar Имя участника. Длина — 100 символов
Password varchar Пароль. Длина — 50 символов
EmailAddress varchar Адрес электронной почты. Длина — 100 символов
Address varchar Почтовый адрес. Длина — 100 символов
CSZ varchar Почтовый индекс и город. Длина— 100 символов
PhoneNumber varchar Номер телефона. Длина — 100 символов
Таблица Auctlonltems (файл Auctionltems.txt)
AuctlonltemID Int Первичный ключ, идентификационный столбец
ItemName varchar Название лота. Длина — 50 символов
MinimumBid money Текущая цена данного лота
Bidlncrement money Минимальное значение, на которое предлагаемая посетителем сумма должна превышать текущую цену лота
OpenDate datetime Дата выставления лота на аукцион
CloseDate datetime Дата и время снятия лота с торгов
BrlefDescription varchar Краткое описание лота. Длина— 100 символов
FullDescrlption text Полное описание лота
Таблица AuctionltemBlds (файл AuctlonltemBlds.txt)
AuctlonitemBldID Int Первичный ключ, идентификационный столбец
Auctlonltem int Внешний ключ для связи с таблицей Auctionltems
BidderlO int Внешний ключ для связи с таблицей Bidders
BidAmount money Сумма заявки
WhenPlaced datetime Дата и время заявки

Hosted by uCoz