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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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

    If Len(Request.QueryString("ProductID")) = 0 Then

Если ID не передан, то посетитель не должен находиться на данной странице, поэтому мы отправляем его на домашнюю страницу:

    Response.Redirect("./index.aspx")

Если ID передан, необходимо извлечь из базы данных всю информацию о товаре, включая название категории:

    DBCommand = New OleDbDataAdapter _
    ("Select ProductName, LongDescription, " _
    & "PathToIcon, PathToFull, Price, CategoryName " _
    & "From Products Left Join ProductCategories On "
    & "Products.ProductCategorylD = " _
    & "ProductCategories.ProductCategorylD Where " _
    & "ProductID = " & Request.QueryString("ProductID") _
    , DBConn)

Эти данные помещаются в объект DataSet:

    DBCommand.Fill(DSPageData, _
    "ProductData")

Затем в элемент управления Label помещается название товара:

    IblTitle.Text = "<CENTER>" _
    & DSPageData.Tables("ProductData"). _
    Rows(0).Item("ProductName") & "</CENTER>"

Название категории указывается в другом элементе Label:

    IblCategoryName.Text = "Категория: " _
    & DSPageData.Tables("ProductData"). _
    Rows (0) .Item("CategoryName")

В элементе управления HyperLink содержится путь к файлу, где находится маленькое изображение товара:

    hyplcon.ImageUrl = DSPageData.Tables("ProductData"). _
    Rows(O) .Item("PathToIcon")

Этот элемент также связан с полноразмерным изображением товара:

    hyplcon.NavigateUrl = DSPageData.Tables("ProductData"). _
    Rows(O) .ItemC'PathToFull")

Кроме того, нам необходимо представить описание товара:

    IblLongDescription.Text = DSPageData.Tables("ProductData"). _
    Rows(0).Itern("LongDescription")

и его цену в денежном формате:

    IblPrice.Text = "Цена: " _
    & FormatCurrency(DSPageData.Tables("ProductData"). _
    Rows(O).Item("Price"))

Вторая из находящихся на странице процедур запускается после подтверждения факта ввода данных в форму. Это означает, что посетитель заказывает товар.

    Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBInsert As New OleDbCommand
    Dim DBCommand As OleDbDataAdapter
    Dim DSPageData as New DataSet
    Dim CurrentQuantity as Integer
    Dim CurrentPrice as Single
    Dim CurrentShipping as Single
    Dim CurrentProductName as String
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC15;" _
    & "User Id=sa;" _
    S "Password=(yourpassword;")
    DBInsert.Connection = DBConn
    DBInsert.Connection.Open
    If Len(Session("CustomerlD")) = 0 Then
    DBInsert.CormnandText = "Insert Into Customers " _
    & "(Status, DateEntered) values ('Shopping', '" _
    & Now ()&"')"
    DBInsert.ExecuteNonQuery()
    DBCommand = New OleDbDataAdapter _
    ("Select Max(CustomerlD) as MaxID " _
    & "From Customers", DBConn)
    DBCommand.Fill(DSPageData, _
    "CustomerlD")
    Session("CustomerlD") = DSPageData.Tables("CustomerlD"). _
    Rows(0).Item("MaxID")
    End If
    DBCommand = New OleDbDataAdapter _
    ("Select ProductName, ShippingCharge, " _
    5 "Price From Products Where " _
    6 "ProductID = " & Request.QueryString("ProductID") _
    , DBConn)
    DBCommand.Fill(DSPageData, _
    "ProductData")
    CurrentQuantity = txtQuantity.Text
    CurrentPrice = CurrentQuantity * _
    DSPageData.Tables("ProductData"). _
    Rows(O).Item("Price")
    CurrentShipping = CurrentQuantity * _
    DSPageData.Tables("ProductData"). _
    Rows(O).Item("ShippingCharge")
    CurrentProductName = DSPageData.Tables("ProductData"). _
    Rows (0) .Item,("ProductName")
    DBInsert.CommandText = "Insert Into ShoppingCartltems " _
    & "(CustomerlD, ProductName, Quantity, Price, Shipping) " _
    & "values (" _
    & Session("CustomerlD") & ", " _
    & "'" & CurrentProductName & "', " _
    & CurrentQuantity & ", " _
    & CurrentPrice & ", " _
    & CurrentShipping & ")"
    DBInsert.ExecuteNonQuery()
    Response.Redirect("./shopping_cart.aspx")
    End Sub

Hosted by uCoz