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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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


Проект Кабина для голосования
Проект День рождения
Проект Рассылка почты


Код проекта

Приложение Кабина для голосования включает в себя две страницы ASP.NET, на которых расположено множество элементов управления. С описанием этих элементов, а также с кодом страниц мы и познакомимся в настоящем разделе.

Страница Регистрация

На странице Регистрация осуществляется проверка имени и пароля перед тем, как сотруднику будет разрешен доступ к странице Кабина для голосования.

В первом элементе управления Label отображается название страницы:

    <asp:Label
    id="lblTitle"
    Font-Size="25pt"
    Font-Name="Tahoma"
    Text="Регистрация"
    runat="server"
    />

Второй элемент управления Label предназначен для вывода инструкций по работе с данной страницей, а также сообщения об ошибке, если пользователь неверно укажет имя или пароль:

    <asp:Label
    id="lblMessage"
    Font-Size="12pt"
    Font-Name="Tahoma"
    Font-Bold="True"
    runat="server"
    Text=''Заполците оба поля."
    />

Следующий элемент управления — TextBox. В нем сотрудник вводит свое имя:

    <asp:TextBox
    id="txtEmployeeName"
    Columns="25"
    MaxLength="1ОО"
    runat=server
    />

Заполнение этого поля является обязательным, поэтому с ним связан элемент управления RequiredFieldValidator:

    <asp:RequiredFieldValidator
    id="rfvEmployeeName"
    ControlToValidate="txtEmployeeName"
    Display="Dynamic"
    Font-Name="Tahoma"
    Font-Size="10pt"
    runat=server>
    Необходимо ввести имя!
    </asp:RequiredFieldValidator>

На странице присутствует еще один элемент управления TextBox, где производится ввод пароля:

    <asp:TextBox
    id="txtPassword"
    Columns="25"
    MaxLength="50"
    runat=server
    TextMode="Password"
    />

Ввод данных в этот элемент управления также обязателен:

    <asp:RequiredFieldValidator
    id="rfvPassword"
    ControlToValidate="txtPassword"
    Display="Dynamic"
    Font-Name="Verdana"
    Font-Size="10pt"
    runat=server>
    Необходимо ввести пароль!
    </asp:RequiredFieldValidator>

Последний элемент управления на странице — Button. Пользователь активизирует его, когда желает предоставить свои данные для авторизации доступа:

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

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

    Sub SubmitBtn_Click(Sender as Object, E As EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBCommand As OleDbDataAdapter
    Dim DSPageData as New DataSet
    DBConn = New oleDbConnection ("Provider-sqloledb," _
    & "server=localhost;" _
    & "Initial Catalog=INETC4;" _
    & "User Id=sa;" _
    & "Password=yourpassword;")
    DBCoiranand = New OleDbDataAdapter _
    ("Select EmployeelD from " _
    & "VoteEmployees Where " _
    & "EmployeeName = ' " _
    & Replace (txtEmployeeName.Text, " ' "," ' ") _
    & " 'and Password = ' " _
    & " Replace (txtPasword.Text, " ' "," ' ") _
    & " ' ", DBConn)
    DBCommand.Fill(DSPageData, _
    "Signln")
    If DSPageData.Tables("Signln").
    Rows.Count = 0 Then
    IblMessage.Text = "Имя и пароль не найдены. " _
    & "Попробуйте еще раз."
    Else
    Session("EmployeelD") = DSPageData.Tables("Signln"). _
    Rows(O).Item("EmployeelD")
    Response.Redirect("./voting_booth.aspx")
    End If
    End Sub

Сначала производится поиск кода ID сотрудника, который соответствует введенным имени и паролю:

    DBCommand - New OleDbDataAdapter _
    ("Select EmployeelD from " _
    & "VoteEmployees Where " _
    & "EmployeeName = '" _
    & Replace(txtEmployeeName.Text, " ' ", " ' ' ") _
    & "' and Password = '" _
    & Replace(txtPassword.Text, "'", "ll") _
    & "'", DBConn)
    DBCommand.Fill(DSPageData, _
    "Signln")

После этого проверяем, найдена ли подходящая запись:

    If DSPageData.Tables("Signln"). _
    Rows.Count = 0 Then

Если количество записей в таблице Signln равно нулю, значит, запись не найдена, то есть имя и пароль отсутствуют в базе данных. В этом случае выдается следующее сообщение:

    Имя и пароль не найдены. Попробуйте еще раз.

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

    Session("EmployeelD") = DSPageData.Tables("Signln"). _
    : Rows(O).Item("EmployeelD")

В завершение пользователь переадресуется на страницу Кабина для голосования:

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


Hosted by uCoz