1. 创建数据表users
1.1 users表的设计
1.2 SQL代码
2. 用户登陆功能
2.1 登陆界面设计
2.2 修改控件ID和属性
2.3 登陆按钮功能实现
2.4 注册按钮功能实现
2.5 忘记密码按钮功能实现
3. 用户注册功能
3.1 注册界面设计
3.2 修改控件属性
3.3注册功能的实现
3.4返回按钮功能的实现
4. 找回密码功能
4.1 找回密码界面设计
4.2 修改控件属性
4.3 页面加载事件
4.4 重置密码功能实现
4.5 返回按钮功能实现
5. 用户登陆
5.1 管理员登录
5.1.1 管理员界面设计
5.1.2 配置数据源
5.2 普通用户登陆
6. 补充和完善
7. 系统下载地址
摘要:基于ASP.NET的WEB应用程序项目,使用程序语言C#,利用ADO.NET访问数据库,实现一个简易的用户登陆注册系统。主要实现的功能有用户登陆、用户注册、找回密码,软件版本采用的vs2010加Sql Sever2014。
关键字:ASP.NET;ADO.NET;WEB;vs2010;数据库
users表的表结构设计如图1-1-1,users表中的数据填充如图1-1-2。
图1-1-1
图1-1-2
新建一个Web窗体命名为login.aspx,打开login.aspx文件,切换至设计视图,插入表(4行2列),从工具栏中拉入2个TextBox控件和3个Button控件到界面上。页面布局如图2-1-1。
图2-1-1
登陆界面源代码如下:
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .style1 { width: 279px; } .style2 { color: #0066FF; height: 24px; } .style3 { text-align:left; } </style> </head> <body> <form id="form1" runat="server"> <table class="style1"> <tr> <td class="style2" colspan="2" style="text-align: center"> 用户登陆</td> </tr> <tr> <td class="style3"> 用户名</td> <td> <asp:TextBox ID="txt_username" runat="server"></asp:TextBox> </td> </tr> <tr> <td class="style3"> 密码</td> <td> <asp:TextBox ID="txt_pwd" runat="server" TextMode="Password"></asp:TextBox> </td> </tr> <tr> <td colspan="2"> <asp:Button ID="btn_login" runat="server" Text="登陆" onclick="btn_login_Click" /> <asp:Button ID="btn_register" runat="server" Text="注册" onclick="btn_register_Click" /> <asp:Button ID="btn_forget" runat="server" Text="忘记密码" onclick="btn_forget_Click" /> </td> </tr> </table> </form> </body> </html>双击登陆按钮,创建Click事件,编写功能代码如下:
protected void btn_login_Click(object sender, EventArgs e) { string strName = txt_username.Text; Session["username"] = strName; SqlConnection con = new SqlConnection(); con.ConnectionString = "server=.\\sqlexpress;database=SYSTEM01;integrated security=true"; SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "select * from users where username='" +txt_username.Text + "' and userpwd='" + txt_pwd.Text + "'"; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataSet ds = new DataSet(); ds.Clear(); con.Open(); da.Fill(ds, "users"); con.Close(); if (ds.Tables["users"].Rows.Count == 0) { Response.Write("<script>alert('用户名或密码错!')</script>"); return; } DataRow dr = ds.Tables["users"].Rows[0]; if (dr[2].ToString().Trim() == "admin") Response.Write("<script>alert('你是管理员,欢迎');window.location.href='admin.aspx'</script>"); else Response.Write("<script>alert('你是普通用户,欢迎');window.location.href='users.aspx'</script>"); }双击注册按钮,创建Click事件,编写功能代码如下:
protected void btn_register_Click(object sender, EventArgs e) { Response.Redirect("register.aspx"); }双击忘记密码按钮,创建Click事件,编写功能代码如下:
protected void btn_forget_Click(object sender, EventArgs e) { if (txt_username.Text == "") { Response.Write("<script>alert('请输入用户名')</script>"); return; } Response.Redirect("forget.aspx?username=" + txt_username.Text); }新建一个Web窗体,命名为register.aspx。切换至设计视图,插入表(7行两列,拉入3个TextBox控件、2个DropDownList控件和2个Button控件到界面上,界面布局如图3-1-1。
图3-1-1
用户注册源代码如下:
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .style1 { width: 500px; } </style> </head> <body> <form id="form1" runat="server"> <div> <table class="style1"> <tr> <td colspan="2" style="text-align: center; color: #3366FF"> 用户注册</td> </tr> <tr> <td> 用户名</td> <td> <asp:TextBox ID="r_username" runat="server"></asp:TextBox> </td> </tr> <tr> <td> 密码</td> <td> <asp:TextBox ID="r_pwd" runat="server" TextMode="Password" ></asp:TextBox> </td> </tr> <tr> <td> 身份</td> <td> <asp:DropDownList ID="DDL_id" runat="server"> <asp:ListItem Value="admin">管理员</asp:ListItem> <asp:ListItem Value="user">普通用户</asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td> 密保问题</td> <td> <asp:DropDownList ID="DDL_question" runat="server"> <asp:ListItem Value="国家">国家?</asp:ListItem> <asp:ListItem Value="省份">省份?</asp:ListItem> <asp:ListItem Value="城市">城市?</asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td> 密保答案</td> <td> <asp:TextBox ID="txt_answer" runat="server"></asp:TextBox> </td> </tr> <tr> <td colspan="2"> <asp:Button ID="btn_register" runat="server" Text="注册" onclick="btn_register_Click" /> <asp:Button ID="btn_return" runat="server" Text="返回" /> </td> </tr> </table> </div> </form> </body> </html>双击注册按钮,创建Click事件,编写功能代码如下:
protected void btn_register_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(); con.ConnectionString = "server=.\\sqlexpress;database=SYSTEM01;integrated security=true"; SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "insert into users(username,userpwd,level,question,answer) values (@username,@userpwd,@level,@question,@answer)"; cmd.Parameters.Add("@username", SqlDbType.NChar, 10); cmd.Parameters.Add("@userpwd", SqlDbType.NChar, 10); cmd.Parameters.Add("@level", SqlDbType.NChar, 10); cmd.Parameters.Add("@question", SqlDbType.NChar, 20); cmd.Parameters.Add("@answer", SqlDbType.NChar, 20); cmd.Parameters["@username"].Value =r_username.Text; cmd.Parameters["@userpwd"].Value = r_pwd.Text; cmd.Parameters["@level"].Value = DDL_id.SelectedValue; cmd.Parameters["@question"].Value = DDL_question.SelectedValue; cmd.Parameters["@answer"].Value = txt_answer.Text; con.Open(); if (cmd.ExecuteNonQuery() > 0) Response.Write("数据新增成功"); //Response.Redirect("admin.aspx"); else Response.Write("数据新增失败"); con.Close(); }找回密码界面布局如图4-1-1。
图4-1-1
找回密码界面源代码如下:
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .style1 { width: 500px; } .style2 { text-align: center; color: #9933FF; } .style3 { height: 27px; } </style> </head> <body> <form id="form1" runat="server"> <div> <table class="style1"> <tr> <td class="style2" colspan="2"> 找回密码</td> </tr> <tr> <td> 用户名</td> <td> <asp:Label ID="L_username" runat="server" Text="Label"></asp:Label> </td> </tr> <tr> <td> 密保问题</td> <td> <asp:Label ID="L_question" runat="server" Text="Label"></asp:Label> </td> </tr> <tr> <td class="style3"> 密保答案</td> <td class="style3"> <asp:TextBox ID="T_answer" runat="server"></asp:TextBox> </td> </tr> <tr> <td colspan="2"> <asp:Button ID="b_reset" runat="server" Text="重置密码" onclick="b_reset_Click" /> <asp:Button ID="b_return" runat="server" Text="返回" onclick="b_return_Click" /> </td> </tr> </table> </div> </form> </body> </html>5.1.1 管理员界面设计
新建一个“admin.aspx”的Web窗体,切换至设计视图,从工具栏的数据组中拉入一个GridView控件,如图5-1-1。
图5-1-1
5.1.2 配置数据源
在智能菜单中的有一个配置数据源的下拉框,选择“新建数据源”,弹出以下,参考图5-1-2至5-1-7操作步骤。
图5-1-2
图5-1-3
图5-1-4
图5-1-5
图5-1-6
图5-1-7
在“users.aspx.cs”代码的页面加载部分编写如下代码:
protected void Page_Load(object sender, EventArgs e) { if (Session["username"] == null) { Response.Redirect("login.aspx"); } Response.Write("欢迎"+Session["username"]+"登陆傻瓜系统!"); }从工具栏的html组中分别给“admin.aspx”和“users.aspx”拉入1个按钮控件,源代码中新增修改的代码如下:
<script language="javascript" type="text/javascript"> // <![CDATA[ function Button1_onclick() { window.location.href = "login.aspx"; } // ]]> </script> <p> <input id="Button1" type="button" value="返回" onclick="return Button1_onclick()" /> </p>https://download.csdn.net/download/qq_40795187/12910519