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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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


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


Страница Нижний кадр

Страница Нижний кадр служит для отображения списка всех участников и отправки сообщения.

Далее заданы элемент DropDownList, в котором содержатся чат-псевдонимы участников:

    <asp:DropDownList
    id="ddlTo"
    runat="server"
    />

и элемент TextBox, используемый участниками для ввода сообщений:

    <asp:TextBox
    id"txtMessage"
    Columns"45"
    MaxLength"255"
    runatserver
    />

Ввод текста сообщения является обязательным, так как элемент RequiredFieldValidator связан с элементом управления TextBox:

    <asp:RequiredFieldValidator
    id"rfvMessage"
    ControlToValidate"txtMessage"
    Display="Dynamic"
    Font-Name="Trebuchet MS"
    ForeColor="Yellow"
    Font-Size="lOpt"
    runat=server>
    Необходимо ввести текст сообщения!
    </asp:RequiredFieldValidator>

Еще один элемент на странице — Button:

    <asp:button
    id="butOK"
    text=" OK "
    Type="Submit"
    OnClick="SubmitBtn_Click"
    runat="server"

В коде страницы имеются две процедуры. Первая активизируется при загрузке страницы:

    Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    If Not IsPostBack Then
    ddlTo.DataSource = ChatNames
    ddlTo.DataBind
    End If
    End Sub

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

    If Not IsPostBack Then

Затем осуществляется привязка элемента DropDownList к объекту ArrayList, что приводит к отображению всех чат-псевдонимов в элементе DropDownList:

    ddlTo.DataSource = ChatNames
    ddlTo.DataBind

Другая процедура на странице вызывается нажатием кнопки ОК.

    Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBCommand as OleDbDataAdapter
    Dim DBInsert As New OleDbCommand
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC13;" _
    & "User" Id=sa,-" _
    & "Password=yourpassword;")
    DBInsert.CommandText = "Insert Into Chats " _
    & "(WhenEntered, EnteredBy, EnteredTo, TheMessage) " _
    & "values (" _
    & '" " & Now ()&"',"_
    & "'" & Session("ChatName") & "', " _
    & "'" & ddlTo.Selectedltem.Value & "', " _
    & "'" & Replace(txtMessage.Text, "'", '" '") & "')"
    DBInsert.Connection = DBConn
    DBInsert.Connection.Open
    DBInsert.ExecuteNonQuery()
    txtMessage.Text = ""
    ddlTo.DataSource = ChatNames
    ddlTo.DataBind
    End Sub

Сообщение, введенное участником чата, включается в таблицу Chats:

    DBInsert.CommandText = "Insert Into Chats " _
    & "(WhenEntered, EnteredBy, EnteredTo, TheMessage) " _
    & "values (" _
    & " ' " & Now ()&"',"_
    & "'" & Session ("ChatName") &'","_
    & "'" & ddlTo.Selectedltem.Value & "', " _
    & "'" & Replace (txtMessage. Text, "'", """) & "')"
    DBInsert.Connection - DBConn
    DBInsert.Connection.Open
    DBInsert.ExecuteNonQuery()

а текст сообщения удаляется из поля ввода (свойство Text элемента TextBox):

    txtMessage.Text = ""

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

    ddlTo.DataSource = ChatNames
    ddlTo.DataBind

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

Если данную программу необходимо использовать с базой данных Access вместо базы SQL-сервера, потребуется заменить строку связи

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

строкой:

    DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB. 4 . 0; " _
    & "DATA SOURCE»" _
    & Server.MapPath("/InetBook/C13/Chat/" _
    & "Access/ClSChat.mdb;"))

Hosted by uCoz