
Проект Анкета
Проект Подробности
Проект Поиск магазина
Элемент управления DropDownList заполняется только при первой загрузке страницы:
Названия тем выбираются из базы вследствие выполнения запроса:
DBCoiranand = New OleDbDataAdapter _ ("Select MorelnfoCategory, MorelnfoEmailAddress " _
& "From MorelnfoCategories " _ & "Order By MorelnfoCategory", DBConn)
результаты которого помещаются в объект DataSet:
DBCommand.Fill(DSPageData, _
"Categories")
Затем элемент DropDownList связывается с этим объектом:
ddlTopics.DataSource = _ DSPageData.Tables("Categories").DefaultView
ddlTopics.DataBind()
Другая процедура выполняется, когда посетитель щелкает на
кнопке ОК. Она отсылает электронное сообщение человеку, ответственному за
предоставление посетителям информации по конкретной теме:
Sub SubmitBtn_Click«(Sender As Object, E As EventArgs) Dim TheMessage as String
Dim TheMailMessage as New MailMessage TheMessage = "Запрос дополнительной
информации! " & chr(13) _ & "Имя: " & txtName.Text & chr(13) _
& "Адрес электронной почты: " & txtEmailAddress.Text & chr(13) _
& "Тема: " & ddlTopics.Selectedltern.Text _ & chr(13) _ &
"Комментарий: " & txtComment.Text TheMailMessage.From =
txtEmailAddress.Text TheMailMessage.To = ddlTopics.Selectedltem.Value
TheMailMessage.Subject = "Запрос дополнительной информации"
TheMailMessage.Body = TheMessage SmtpMail.Send(TheMailMessage)
pnlRequest.Visible = False IblMessage.Text = "Ваш запрос отослан. " _ &
"Мы постараемся ответить как можно быстрее." End Sub
Для работы этой процедуры необходима временная переменная, чтобы хранить текст электронного сообщения:
Требуется также объект MailMessage:
Dim TheMailMessage as New MailMessage
Сначала формируется текст электронного сообщения, который является комбинацией статического текста и данных,
выбранных или введенных посетителем на странице. Обратите внимание на
использование функции chr (). Эта функция с параметром 13 создает новую строку
в тексте электронного сообщения, чтобы оно было более читабельным:
TheMessage - "Запрос дополнительной информации! " & chr(13) _ & "Имя: " &
txtName.Text & chr{13) _ & "Адрес электронной почты: " &
txtEmailAddress.Text & chr(13) _ & "Тема: " &
ddlTopics.Selectedltem.Text _ & chr(13) & "Комментарий: " &
txtCoiranent.Text
Сообщение будет послано как будто непосредственно от посетителя:
TheMailMessage.From = txtEmailAddress.Text
Оно отправляется служащему, который обрабатывает запросы по теме, выбранной посетителем:
TheMailMessage.To = ddlTopics.Selectedltem.Value
Далее задается тема электронного сообщения:
TheMailMessage.Subject = "Запрос дополнительной информации"
и текст сообщения:
TheMailMessage.Body = TheMessage
Затем сообщение отсылается:
SmtpMail.Send(TheMailMessage)
После этого скрывается элемент управления Panel, который содержит все элементы для ввода данных:
pnlRequest.Visible = False
и отображается сообщение об отсылке запроса:
IblMessage.Text = "Ваш запрос отослан. " _ & "Мы постараемся ответить как
можно быстрее."
Изменение кода для Access
Если необходимо использовать в этом проекте базу данных Access вместо SQL Server, понадобится
только изменить строку связи с базой данных SQL Server
DBConn = New
01eDbConnection("Provider=sqloledb;" _ & "server=localhost;" _ &
"Initial Catalog=INETCS;" _ & "User Id=sa;" _ &
"Password=yourpassword;")
на строку связи с базой данных Access:
DBConn = New
01eDbConnection("PROVIDER-Microsoft.Jet.OLEDB.4.0;" _ & "DATA SOURCE=" _
& Server.MapPath("/INetBook/C3/MoreInfoX" &
"Access/C3MoreInfо.mdb;"))
|