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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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

    <asp:RequiredFieldValidator
    id="rfvFirstName"
    ControlToValidate="txtFirstName"
    ЕггогМеззаде="Имя"
    Display="Static"
    runat=server>
    *
    </asp:RequiredFieldValidator>

И наконец, последний элемент управления на странице — это элемент Button (кнопка ОК), который нужен для подтверждения того, что форма готова к обработке:

    <asp:button
    id="butAdd"
    text=" OK "
    Type="Submit"
    OnClick="SubmitCheckOut_Click"
    runat="server"
    />

Код на этой странице запускается для обработки двух событий. Первое событие — это загрузка страницы.

    Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    If Len(Session("CustomerlD")) =.0 Then
    Response.Redirect("./shopping_cart.aspx")
    End If
    End Sub

Данный код позволяет удостовериться в том, что посетитель оформил заказ:

    If Len(Session("CustomerlD")) = 0 Then

Если он этого не сделал, то будет направлен на страницу Корзина покупателя, где получит сообщение о том, что в его корзине ничего нет:

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

Второй блок кода запускается при нажатии кнопки ОК.

    Sub SubmitCheckOut_Click(Sender As Object, E As EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBUpdate As New OleDbCommand
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;"
    & "Initial Catalog=INETC15;" _
    & "User Id-sa;" _
    & "Password-yourpassword;")
    DBUpdate.CommandText = "Update Customers set " _
    & "Status = 'Order Placed', "
    & "FirstName = '" _
    & Replace(txtFirstName.Text, "'", "'"') & "', " _
    & "LastName = '" _
    & Replace(txtLastName.Text, "'", "'") & "', "
    & "EmailAddress = '" _
    & Replace (txtEmailAddress.Text, "'","''") & "',"_
    & "Address - '" _
    & Replace (txtAddress. Text, "'", "''") & "', "
    & "City = '" _
    & Replace(txtCity.Text, "'", "''") & "', " _
    & "State = '" _
    & Replace(txtState.Text, "'","''") & "', " _
    & "ZipCode = '" _
    & Replace(txtZipCode.Text, "'", "''") & "', " _
    & "CCType = '" _
    & Replace(txtCCType.Text, "'", "''") & "', " _
    & "CCNumber - '" _
    & Replace (txtCCNumber. Text, "'", "''") & "', " _
    & "CCExpiration. = '"
    & Replace(txtCCBxpiration.Text, "'", "''") & "' "
    & "Where CustomerlD = " & Session("CustomerlD")
    DBUpdate.Connection - DBConn
    DBUpdate.Connection.Open
    DBUpdate.ExecuteNonQuery()
    Session.Abandon
    pnlForm.Visible = False
    IblMessage.Text = "Ваш заказ принят."
    End Sub

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

    DBUpdate.CommandText = "Update Customers set " _
    & "Status = 'Order Placed', " _
    & "FirstName = '" _
    & Replace (txtFirstName. Text, "'", "''") & "', "
    & "LastName = '" _
    & Replace(txtLastName.Text, "'", "''") & "', "
    & "EmailAddress = '" _
    & Replace(txtEmailAddress.Text, "'", "'"') & "', " _
    & "Address = '"
    & Replace(txtAddress.Text, "'", "''") & "', " _
    & "City = '" _
    & Replace (txtCity.Text, "'", "''") & "', " _
    & "State = '" _
    S, Replace (txtState. Text, "'", "''") & "', "
    & "ZipCode = '" _
    & Replace(txtZipCode.Text, "'", "''") & "', " _
    & "CCType = '"
    & Replace (txtCCType.Text, "'", "''") & '", " _
    & "CCNurnber = '" _
    & Replace(txtCCNumber.Text, "'", "''") & "', " _
    & "CCExpiration = '" _
    & Replace(txtCCExpiration.Text, "'", "''") & '" " _
    & "Where CustomerlD = " & Session ("CustomerlD.")
    DBUpdate.Connection = DBConn
    DBUpdate.Connection.Open
    DBUpdate.ExecuteNonQuery()

После этого сеанс работы посетителя завершается:

    Session.Abandon

форма на странице скрывается:

    pnlForm.Visible = False

а для посетителя выводится сообщение о том, что его заказ принят:

    IblMessage.Text = "Ваш заказ принят."

Изменение кода для Access

Чтобы получить возможность использовать это приложение с базой данных Access, а не с базой? данных SQL Server, необходимо внести два изменения. Во-первых, в строке, где задается соединение, нужно указать другого провайдера и другую базу данных:

    DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;"
    & "DATA SOURCE=". _
    & Server.MapPath("/INetBook/C15/" _
    & "Access/CIS.mdb;"))

Еще одно изменение, которое необходимо произвести, касается запроса на странице Special. В случае SQL Server мы искали все записи, у которых поле Current-Special содержит значение 1. Для Access это значение необходимо заменить значением True:

    DBCommand = New OleDbDataAdapter _
    ("Select ProductID, ProductName, BriefDescription, " _ & "Price From Products Where CurrentSpecial = True " _ s "Order By ProductName", DBCon'n)

Производить какие-либо другие изменения кода не требуется.

Hosted by uCoz