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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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


Проект Конструктор
Проект Поиск решения
Проект Бронирование номеров


Следующий шаг — определение параметров элемента Label для вывода заголовка страницы:

    IblTitle.BorderWidth = New Unit("7px")
    IblTitle.BorderStyle = 9
    IblTitle.Width = New Unit("90%")
    IblTitle.Font.Size = New FontUnit("25pt")
    IblTitle.Font.Name = "Arial"

После этого текст «Поиск решения», а также текст заголовка для этого вопроса помещаются из базы данных в элемент управления Label с именем IblTitle:

    IblTitle.Text - "Поиск решения - " _
    & DSHelpDeskData.Tables("Question"). _
    Rows(O) .ItemC'TitleText")

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

    IblQuestion.Font.Size = New FontUnit("12pt")
    IblQuestion.Font.Name = "Verdana"

Свойству Text этого элемента Label в качестве значения присваивается текст текущего вопроса:

    IblQuestion.Text = _
    DSHelpDeskData.Tables ("Question'1) . _
    Rows(O).Itern("TheMessage")

В заключение устанавливается связь между элементом DropDownLi s t и таблицей Choices объекта DataSet:

    ddlAnswers.DataSource = _
    DSHelpDeskData.Tables("Choices").DefaultView
    ddlAnswers.DataBind()

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

    Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBCommand As OleDbDataAdapter
    Dim DSHelpDeskData as DataSet
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC10;"
    & "User Id=sa;" _
    & "Password=yourpassword;")
    DSHelpDeskData = New DataSet()
    DBCommand = New OleDbDataAdapter _
    ("Select QorA, TitleText, TheMessage " _
    & "From HelpDesk Where QuestionID = " _
    & ddlAnswers.Selectedltem.Value,DBConn)
    DBCommand.Fill.tDSHelpDeskData, _
    "Question")
    IblTitle.Text = "Поиск решения - " _
    & DSHelpDeskData.Tables("Question"). _
    Rows(0).Item("TitleText")
    lblQuestion.Te.xt - _
    DSHelpDeskData.Tables("Question"). _
    Rows (0) .ItemC'TheMessage")
    If DSHelpDeskData.Tables("Question"). _
    Rows(0).Item("QorA") = "Q" Then
    DBCommand - New OleDbDataAdapter _
    ("Select QuestionID, TheChoice " _
    & "From HelpDesk " _
    & "Where ParentID = " _
    & ddlAnswers.Selectedltem.Value,DBConn)
    DBCommand.Fill(DSHelpDeskData, _
    "Choices")
    ddlAnswers.DataSource =
    DSHelpDeskData.TablesV'Choices").DefaultView
    ddlAnswers.DataBind()
    Else
    ddlAnswers.Visible = False
    butOK.Visible = False
    End If
    End Sub

Прежде всего объявляется объект DataSet:

    DSHelpDeskData = New DataSetО

В этот объект помещается следующий вопрос или решение, в зависимости от варианта, выбранного пользователем в списке DropDownList:

    DBCommand = New OleDbDataAdapter _
    ("Select QorA, TitleText, TheMessage " _
    & "From HelpDesk Where QuestionID = " _
    & ddlAnswers.Selectedltem.Value,DBConn)
    DBCommand.Fill(DSHelpDeskData, _
    "Question")

Заголовок и содержимое поля TheMessage отображаются независимо от того, является запись вопросом или решением:

    IblTitle.Text = "Поиск решения - " _
    & DSHelpDeskData.Tables("Question").
    Rows(O).Item("TitleText")
    IblQuestion.Text = _
    DSHelpDeskData.Tables("Question"). _
    Rows(0).Item("TheMessage")

Если запись представляет собой вопрос:

    If DSHelpDeskData.Tables("Question").
    Rows(O) .ItemPQorA") = "Q" Then

варианты ответа на него необходимо поместить в объект DataSet:

    DBCommand = New OleDbDataAdapter _
    ("Select QuestionID, TheChoice " _
    & "From HelpDesk " _
    & "Where ParentID = " _
    & ddlAnswers.Selectedltem.Value, DBConn)
    DBCommand.Fill(DSHelpDeskData, _
    "Choices")

и связать с элементом DropDownList:

    ddlAnswers.DataSource = _
    DSHelpDeskData.Tables("Choices").DefaultView
    ddlAnswers.DataBindО

Если же запись является решением, действия будут иными. В этом случае нет необходимости выводить список DropDownList и кнопку ОК:

    ddlAnswers.Visible = False
    butOK.Visible = False

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

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

    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC10;"
    4 "User Id=sa;"
    & "Password=yourpassword;")

В строке должны быть указаны нужные провайдер и база данных:

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

Hosted by uCoz