会员管理模块 - 会员登录功能(简单版本)

实现简单的会员登录过程,保存在Session中,通过username和password来核对数据库内是否存在此用户,如果存在切换出用户管理界面,如果不存在提示并且跳转到注册页面。


界面设计如下:

HTML代码:

 1 <form id="form1" runat="server">
 2     <div>
 3     <asp:Panel ID="Panel1" runat="server">
 4         <table align="center" cellpadding="0" cellspacing="0" width="100%">
 5             <tr>
 6                 <td style="width: 303px">
 7                     用户名:</td>
 8                 <td>
 9                     <asp:TextBox ID="txtMemberName" runat="server"></asp:TextBox>
10                     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
11                         ErrorMessage="*" ControlToValidate="txtMemberName"></asp:RequiredFieldValidator>
12                 </td>
13             </tr>
14             <tr>
15                 <td style="width: 303px">
16                     密码:</td>
17                 <td>
18                     <asp:TextBox ID="txtMemberPass" runat="server" TextMode="Password"></asp:TextBox>
19                     <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
20                         ErrorMessage="*" ControlToValidate="txtMemberPass"></asp:RequiredFieldValidator>
21                 </td>
22             </tr>
23             <tr>
24                 <td style="width: 303px">
25                     登录保留</td>
26                 <td>
27                     <asp:DropDownList ID="ddlKeeplogin" runat="server">
28                         <asp:ListItem Value="0">不保留</asp:ListItem>
29                         <asp:ListItem Value="1">保留一天</asp:ListItem>
30                         <asp:ListItem Value="2">保留一周</asp:ListItem>
31                         <asp:ListItem Value="3">保留一月</asp:ListItem>
32                         <asp:ListItem Value="4">保留一年</asp:ListItem>
33                     </asp:DropDownList>
34                 </td>
35             </tr>
36             <tr>
37                 <td style="width: 303px">
38                     &nbsp;</td>
39                 <td>
40                     &nbsp;</td>
41             </tr>
42             <tr>
43                 <td colspan="2" style="text-align: center">
44                     <asp:Button ID="btnLogin" runat="server" Text="登录" onclick="btnLogin_Click" />
45 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
46                     <asp:Button ID="btnRegister" runat="server" Text="注册" />
47                 </td>
48             </tr>
49         </table>
50     </asp:Panel>
51     </div>
52     <asp:Panel ID="Panel2" runat="server" Visible="false">
53     <table align="center" cellpadding="0" cellspacing="0" style="width: 50%">
54         <tr>
55             <td>
56                 &nbsp;</td>
57         </tr>
58         <tr>
59             <td style="text-align: center">
60                 &nbsp;&nbsp; 您好,&nbsp;<asp:Label ID="lblMemberName" runat="server" Text="Label"></asp:Label>
61             </td>
62         </tr>
63         <tr>
64             <td style="text-align: center">
65                 进入管理</td>
66         </tr>
67         <tr>
68             <td style="text-align: center">
69                 <a href="MemberModify.aspx">修改资料</a></td>
70         </tr>
71         <tr>
72             <td style="text-align: center">
73                 <asp:LinkButton ID="lbtnExit" runat="server" onclick="lbtnExit_Click">退出登录</asp:LinkButton>
74             </td>
75         </tr>
76     </table>
77     </asp:Panel>
78     </form>

CS代码如下:

 1  protected void Page_Load(object sender, EventArgs e)
 2     {
 3         if (Session["userName"] != null)
 4         {
 5             Panel1.Visible = false;
 6             Panel2.Visible = true;
 7             this.lblMemberName.Text = Session["userName"].ToString();
 8         }
 9     }
10     protected void btnLogin_Click(object sender, EventArgs e)
11     {
12         string username = txtMemberName.Text;
13         string password = txtMemberPass.Text;
14         //调用业务逻辑层的验证方法
15         MemberBLL memsystem = new MemberBLL();
16         if (memsystem.Validate(username, password))
17         {
18             //切换不同panel的显示
19             Panel1.Visible = false;
20             Panel2.Visible = true;
21             this.lblMemberName.Text = username;
22             //缓存当前登录用户的用户名
23             Session["userName"] = username;
24         }
25         else
26         {
27             //验证错误后的提示
28             Response.Write("<br/><font size='2'>用户名或密码错误,<a href='login.aspx'>返回</a></font>");
29             Response.End();
30         }
31     }
32     protected void lbtnExit_Click(object sender, EventArgs e)
33     {
34         Session.Remove("userName");
35         Response.Redirect("login.aspx");
36     }

 

BLL代码:

 1 /// <summary>
 2     /// 判断登录是否成功
 3     /// </summary>
 4     /// <param name="userName">用户名</param>
 5     /// <param name="password">密码</param>
 6     /// <returns>判断登录是否成功</returns>
 7     public bool Validate(string userName, string password)
 8     {
 9         return new MemberDAL().Validate(userName, password);
10     }

DAL代码:

 1 /// <summary>
 2     /// 判断登录名是否正确
 3     /// </summary>
 4     /// <param name="userName">用户名</param>
 5     /// <param name="password">密码</param>
 6     /// <returns>判断是否成功</returns>
 7     public bool Validate(string userName, string password)
 8     {
 9         DataClassesDataContext db = new DataClassesDataContext();
10         bool result = false;
11         try
12         {
13             Member member = db.Member.Where(m => m.MemberName == userName && m.MemberPass == password).First();
14             result = true;
15         }
16         catch
17         {
18             result = false;
19         }
20         return result;
21     }

 

posted @ 2012-05-17 21:36  阿杜008  阅读(1276)  评论(5编辑  收藏  举报