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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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

    DBCommand = New OleDbDataAdapter _
    ("Select ShoppingCartltemID, ProductName, " _
    & "Quantity, Price, Shipping From " _
    & "ShoppingCartltems Where " _
    & "CustomerlD = " & Session("CustomerlD") _
    & " Order By ProductName" _
    , DBConn)

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

    DBCommand.Fill(DSPageData, _
    "ShoppingCart")

Далее необходимо удостовериться, что в корзине у посетителя все еще что-то имеется. Ведь посетитель мог сначала выбрать какой-то товар, а затем отказаться от него:

    If DSPageData.Tables("ShoppingCart").Rows.Count = 0 Then

В этом случае посетитель получит лишь такое сообщение:

    IblPriceTotal.Text = "В Вашей корзине " _
    & "нет товаров."

Если товары в корзине имеются, нужно связать управляющий элемент DataGrid с объектом DataSet:

    dgShoppingCart.DataSource = _
    DSPageData.Tables("ShoppingCart").DefaultView
    dgShoppingCart.DataBind

Затем необходимо извлечь общую стоимость приобретаемых товаров:

    DBCommand = New OleDbDataAdapter _
    ("Select Sum(Price) as PriceSum, " _
    & "Sum(Shipping) as ShippingSum From " _
    & "ShoppingCartltems Where " _
    & "CustomerlD = " & Session("CustomerlD") _
    , DBConn)

и поместить эту информацию в объект DataSet:

    DBCommand.Fill(DSPageData, _
    "Totals")

Теперь надо поместить данные в три последних элемента управления Label:

    IblPriceTotal.Text = "Итого: " _
    & FormatCurrency(DSPageData.Tables("Totals"). _
    Rows(O).ItemC'PriceSum") )
    IblShippingTotal.Text = "Доставка: " _
    & FormatCurrency(DSPageData.Tables("Totals"). _
    Rows(O).Item("ShippingSum"))
    IblGrandTotal.Text = "Всего: " _
    & FormatCurrency(DSPageData.Tables("Totals"). _
    Rows(0).Item("PriceSum") +_
    DSPageData.Tables("Totals"). _
    Rows(0).Itern("ShippingSum"))

Если управление передается оператору Else, значит, посетитель в свою корзину ничего еще не положил. В этом случае, опять-таки, должно быть отображено сообщение:

    IblPriceTotal.Text = "В Вашей корзине " _
    & "нет товаров."

Второе событие, которое необходимо обработать, — это нажатие посетителем одной из ссылок Удалить в элементе управления DataGrid.

    Sub Click_Grid(ByVal Sender as Object, ByVal E as DataGridCommandEventArgs)
    Dim DBConn as OleDbConnection
    Dim DBDelete As New OleDbCommand
    Dim DBCommand As OleDbDataAdapter
    Dim DSPageData as New DataSet
    DBConn = New OleDbConnection("Provider-sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC15;"
    & "User Id=sa;" _
    & "Password=yourpassword;")
    DBDelete.CommandText = "Delete from ShoppingCartltems " _
    & "Where ShoppingCartltemID = " _
    & E.Item.Cells(4).Text
    DBDelete.Connection = DBConn
    DBDelete.Connection.Open
    DBDelete.ExecuteNonQuery()
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog-INETCIS;"
    & "User Id=sa;" _
    & "Password=yourpassword;")
    DBCoimnand = New OleDbDataAdapter _
    ("Select ShoppingCartltemID, ProductName, " _
    & "Quantity, Price, Shipping From " _
    & "ShoppingCartltems Where " _
    & "CustomerlD = " S Session("CustomerlD") _
    & " Order By ProductName" _
    , DBConn)
    DBCommand.Fill(DSPageData, _
    "ShoppingCart")
    dgShoppingCart.DataSource = _
    DSPageData.Tables("ShoppingCart").DefaultView
    dgShoppingCart.DataBind
    if DSPageData.Tables("ShoppingCart").Rows.Count = 0 Then
    IblPriceTotal.Text = "В Вашей корзине " _
    & "нет товаров."
    IblShippingTotal.Text = ""
    IblGrandTotal.Text = ""
    Else
    DBCommand = New OleDbDataAdapter _
    ("Select Sum(Price) as PriceSum, " _
    & "Sum(Shipping) as ShippingSum From " _
    & "ShoppingCartltems Where " _
    & "CustomerlD = " & Session("CustomerlD") _
    , DBConn)
    DBCommand.Fill(DSPageData, _
    "Totals")
    IblPriceTotal.Text = "Итого: " _
    & FormatCurrency(DSPageData.Tables ("Totals"). _
    Rows(O).Item("PriceSum"))
    IblShippingTotal.Text = "Доставка: " _
    & FormatCurrency(DSPageData.Tables("Totals"). _
    Rows(O).Item("ShippingSum"))
    IblGrandTotal.Text = "Всего: " _'
    & FormatCurrency(DSPageData.Tables("Totals"). _
    Rows(0).Item("PriceSum") +_
    DSPageData.Tables("Totals"). _
    Rows(O).Item("ShippingSum"))
    End If
    End Sub

Hosted by uCoz