terça-feira, 25 de janeiro de 2011

Questionário Dinâmico em ASP.NET - Parte II

Vamos prosseguir...
Abra o Visual Studio e crie a pagina default.aspx conforme as instruções abaixo:



<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Área Restrita - Login</title>
    <style type="text/css">
        .centro
        {
            width: 40%;
            font-family: Verdana;
            font-size: x-small;
            border: 1px solid #CCCCCC;
        }
    </style>
</head>
<body style="text-align: center">
    <form id="form1" runat="server">
    <div>   
    <table align="center" cellpadding="0" cellspacing="0" class="centro">
     <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td>&nbsp;</td>
      <td>
       <table cellpadding="2" cellspacing="2" style="font-family: Verdana;
        font-size: small" width="100%">
        <tr>
         <td>&nbsp;</td>
         <td colspan="3" style="color: #084984; font-weight: bold;">
          Área Restrita</td>
         <td>&nbsp;</td>
        </tr>
        <tr>
         <td>&nbsp;</td>
         <td colspan="3">&nbsp;</td>
         <td>&nbsp;</td>
        </tr>
        <tr>
         <td>&nbsp;</td>
         <td style="text-align: right"><b>Login:</b></td>
         <td style="text-align: right">&nbsp;</td>
         <td style="text-align: left">
           <asp:TextBox ID="txt_login" runat="server" MaxLength="10"
           style="text-align: left; font-family: Verdana; font-size: small;"
           Width="100px"></asp:TextBox>
           <asp:RequiredFieldValidator ID="rfv_login" runat="server" ControlToValidate="txt_login" ErrorMessage="*" style="font-family: Verdana; font-size: x-small; font-weight: 700; color: #CC0000;"></asp:RequiredFieldValidator>
        </td>
        <td>&nbsp;</td>
       </tr>
       <tr>
        <td>&nbsp;</td>
        <td style="text-align: right"><b>Senha:</b></td>
        <td style="text-align: right">&nbsp;</td>
        <td style="text-align: left">
         <asp:TextBox ID="txt_senha" runat="server" MaxLength="13" style="font-family: Verdana; font-size: small" TextMode="Password" Width="100px"></asp:TextBox>
         <asp:RequiredFieldValidator ID="rfv_senha" runat="server" ControlToValidate="txt_senha" ErrorMessage="*" style="font-family: Verdana; font-size: x-small; font-weight: 700; color: #CC0000;"></asp:RequiredFieldValidator>
        </td>
        <td>&nbsp;</td>
       </tr>
       <tr>
        <td>&nbsp;</td>
        <td colspan="3">
         <asp:Button ID="Button1" runat="server" Text="Logar" />
        </td>
        <td>&nbsp;</td>
       </tr>
       <tr>
        <td>&nbsp;</td>
        <td colspan="3">
         <asp:Label ID="lel_incorreto" runat="server" ForeColor="Red" style="font-size: small; color: #CC0000;" Text="O Login e/ou o Senha estão incorretos!" Visible="False"></asp:Label>
        </td>
        <td>&nbsp;</td>
       </tr>
      </table>
     </td>
     <td>&nbsp;</td>
    </tr>
    <tr>
     <td>&nbsp;</td>
     <td class="style1">&nbsp;</td>
     <td>&nbsp;</td>
    </tr>
   </table>
   </div>
   </form>
</body>
</html>

Na página default.aspx.vb digite o código abaixo:

Imports System.Data.OleDb
Imports System.Data

Partial Class _Default
    Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim conexao As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("projeto.mdb"))
        Dim cmd As New OleDbCommand
        Dim dr As OleDbDataReader

        Session("login") = txt_login.Text
        Session("senha") = txt_senha.Text

        conexao.Open()
        cmd.Connection = conexao

        Dim login As String = Session("login")
        Dim senha As String = Session("senha")

        cmd.CommandText = "Select login, senha, tipo from usuario where login=@login and senha=@senha"

        With cmd.Parameters
            .Add(New Data.OleDb.OleDbParameter("@login", login))
            .Add(New Data.OleDb.OleDbParameter("@senha", senha))
        End With

        dr = cmd.ExecuteReader()
        dr.Read()

        If dr.HasRows = True Then

            If dr("tipo") = "A" Then
                Response.Redirect("aluno.aspx")
            ElseIf dr("tipo") = "P" Then
                Response.Redirect("professor.aspx")
            End If

        Else
            lel_incorreto.Visible = True
            txt_login.Focus()
        End If

    End Sub
End Class

Nenhum comentário:

Postar um comentário