
Проект Закладки
Проект Регистрация
Проект Предпочтения
Вначале осуществляется проверка того, зарегистрирован ли посетитель на узле:
If Len(Session("UserlD")) = 0 Then
Если это не так, посетитель направляется на страницу Регистрация:
Response.Redirect("./index.aspx")
Нам понадобится объект Color, который будет использован в элементе Label. К сожалению, в коде нельзя задать нужный цвет путем простого указания его названия:
Dim MyColor as new System.Drawing.Color
Далее следует выполнить SQL-запрос для получения параметров, заданных посетителем:
DBCommand = New OleDbDataAdapter _
("Select TextFont, TextColor, BGColor " _
& "From Users Where " _
& "UserlD = " & Session("UserlD"), DBConn)
а результаты его выполнения нужно поместить в объект DataSet:
DBCommand.Fill(DSPrefs, _
"Prefs")
Значения, полученные из базы данных, присваиваются переменным, доступным на всей странице:
TheTextFont = DSPrefs.Tables("Prefs"). _
Rows(O).Item("TextFont")
TheTextColor = DSPrefs.Tables("Prefs"). _
Rows(0).Item("TextColor")
TheBGColor = DSPrefs.Tables("Prefs"). _
Rows(O).Item("BGColor")
Выводимый текст помещается в элемент Label:
IblMessage.Text = "Внешний вид этой страницы " _
& "сформирован с учетом Ваших установок!"
и задается шрифт, выбранный посетителем ранее:
IblMessage.Font.Name = TheTextFont
Теперь посредством вызова метода FromName объекта Color необходимо указать цвет символов:
IblMessage.ForeColor= MyColor.FromName(TheTextColor)
Аналогичным образом задаются параметры элемента Label, отображающего текст заголовка страницы:
IblTitle.Font.Name = TheTextFont
IblTitle.ForeColor= MyColor.FromName(TheTextColor)
Значения параметров, заданные пользователем, можно применять непосредственно в теле страницы:
BGColor="<% Response.Write(TheBGColor) %>"
Изменение кода для Access
Если вместо базы SQL Server вам придется использовать базу данных Access, то строку связи
DBConn = New OleDbConnection("Provider=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog=INETC12;" _
& "User Id=sa;" _
& "Password=yourpassword;")
следует изменить таким образом, чтобы в ней было указано имя соответствующего провайдера и нужная база данных:
DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.Oledb.4.0; " _
& "DATA SOURCE="
& Server.MapPath("/InetBook/C12/Preferences/" _
S "Access/C12 Preferences.mdb"))
Обратите внимание, что вам к тому же нужно будет указать путь к базе данных
на своем сервере
|