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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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


Проект Чат
Проект Запрос SQL
Проект Совет дня
Проект Полезные ссылки


Сначала в процедуре проверяется, не используется ли введенный посетителем чат-псевдоним. Делается это посредством вызова метода BinarySearch объекта Аг-rayList. В качестве параметров данному методу передаются искомый текст (в нашем случае — введенное имя) и условие, что при поиске не учитывается регистр клавиатуры. Другими словами, текст «Боб» будет соответствовать тексту «БОБ».

Метод возвращает позицию найденного текста в массиве. Если текст не был найден, возвращается отрицательное число. Следовательно, числа от нуля и выше свидетельствуют о том, что чат-псевдоним найден:

    If ChatNames.BinarySearch _
    (txtChatName.Text, New CaselnsensitiveComparer) >= 0 Then

В этом случае текст сообщения об ошибке присваивается свойству Text элемента Label:

    IblMessage.Text = " Введенное имя уже используется " _
    & "другим участником чата."

Если текст не найден, выбранный посетителем чат-псевдоним можно использовать и этот псевдоним добавляется в объект ArrayList:

    ChatNames.Add(txtChatName.Text)

После отправки сообщения необходимо сохранить чат-псевдоним участника в переменной сеанса, использующейся на странице Нижний кадр:

    Session("ChatName") = txtChatName.Text

Когда очередной участник присоединяется к чату, нужно добавить новую запись в таблицу Chats. Следовательно, надлежит установить соединение с базой данных:

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

Затем текст SQL-запроса помещается в объект Command для добавления сообщения, адресованного сервером всем участникам, в таблицу Chats. Это сообщение используется для оповещения всех собеседников о том, кто присоединился к их числу:

    DBInsert.CommandText = "Insert Into Chats " _
    & "(WhenEntered, EnteredBy, EnteredTo, TheMessage) " _
    & "values (" _
    & " ' " & Now ()&"',"_
    & " ' Сервер', " _
    & " ' Всем', " _
    & '"<B>" & Session("ChatName") & " вошел " _
    & "в чат.</В>')"

Для выполнения запроса используется объект Connection:

    DBInsert.Connection = DBConn
    DBInsert.Connection.Open

После этого запись добавляется в таблицу:

    DBInsert.ExecuteNonQuery()

Следующий шаг — фиксация в таблице Chats записи, начиная с которой новый участник присоединился к чату. Эта запись только что была добавлена в базу и определяется по своему ID:

    DBCommand = New OleDbDataAdapter _
    ("Select Max(ChatlD) as MaxID "
    & "from Chats " _
    ,DBConn)

Возвращаемый запрос помещается в объект DataSet:

    DBCommand.Fill(DSStartingPoint, _
    "StartingPoint")

Затем ID записи сохраняется в переменной сеанса, чтобы это значение можно было использовать на странице Основной кадр:

    Session("StartingPoint") = DSStartingPoint.Tables("StartingPoint"). _
    Rows(0).Item("MaxID")

Далее посетитель направляется на страницу Чат:

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

Страница Чат

На странице Чат заданы два кадра. При загрузке страницы выполняется следующий блок кода:

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

В коде проверяется факт регистрации участника чата:

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

Если участник не зарегистрирован, он направляется на страницу Регистрация. Это предотвращает просмотр сообщений чата без предварительной регистрации.

Hosted by uCoz