asp.net入门教程----(1)、网站登录与注册的实现
登录与注册是一个网站最基本的功能。
1、在visual studio 的服务器资源管理器中在SQL服务器上建立数据库 比如Forum.dbo. 建立一个User表。
字段可以是UserID,UserName,UserEmail,UserGender,UserIsMarried,UserFace等等。分别设置字段类型,USerID设置为主键,GUID类型2、建立一个空网站空页面,取名Login.aspx在进行简单的表格或DIV+CSS布局后,拖放两个TextBox控制进去,用户名和密码。取ID为tb_UserName,tb_UserPassword并取ID 再拖两个Button控件,取ID为btn_Login ,btn_Reg,注明Text属性。
3、再建立一个Default.aspx页面。最好使用母版页,先用表格布局母版页的页面,母版页可以设置导航条,做好链接,填充Default页面中
<ContentPlaceHolder>标签中的内容。最好建立一个主题Default,指定Css文件和用户控件皮肤文件。
4、先要在config配置文件中<Connection String >标签中指定连接字符串,<add Name="ForumConnectionString" ConnectionString="server=(local)\sqlexpress;Database=Forum;Connection_Truested=True;"
可以使用 <Pages theme="Default">设定所有页面均具有相同的主题及样式。
5、这下就要在Default.cs文件中写代码了。在Default.aspx中文件点击按钮,就自动跳转到了Default.aspx.cs文件了。
这里要用到ADO.net对象,
引入命名空间Using sysytem.data;Using system.data.sqlClient;using System.Configuration;
然后在类中中定义一个变量Private String sConnectionString=ConfigurationManaer.ConnectionString["ForumConnectionString"].toString();获取变量值
再在注册按钮的OnClick事件里绑定数据库,查询用户名,查询密码是否匹配,如果不存在用户名,或是密码不匹配,可以调用Window.alert()进行,进行提示,如果匹配,将ID值 写入Session变量。
具体代码如下:
Protected void btn_Login_Click(objective sender,EventArgs e)
{
using(SqlConnection conn=new SqlConnection(sconnectionString))
{
conn.open();
using (SqlCommand cmd =new SqlCommand())
{
cmd.Connetion=sConnectionString;
cmd.CommandText="select count(*) from tbUser UserName=@UserName"; //参数化Sql语句,防止Sql注入。
cmd.parameters.addwithvalue("@UserName",tb_UserName.Text);
if(cmd.executeScalar().ToString ==“0”) //记录数为0的话,说明没有找到指定用户名.
{
Page.ClientScript.RegisterStartUpScript(,this.GetType(),"",“<script>alert('用户名不存在')</script>")//弹出提示框
else
{
cmd.CommandText='select UserID from tbUser where UserName=@UserName and UserPassword=@UserPassword;' //如果密码正确,返回UserID。
cmd.Parameters.AddWithValue("@Userpassword",tb_Password.Text);
if(cmd.ExecuteScalar() == null)
{
Page.ClientScript.RegisterStartUPScript(this.GetType(),"","<script>alert('密码不正确')</script>");
}
else
{
Session["UserID"]=cmd.ExecuteScalar().ToString();
Seesion["UserName"]=cmd.ExecuteScalar().ToString();
Page.ClientScript.RegisterStartUPScript(this.GetType(),"","<script>alert('登录成功');location.href=location.href</script>");//提示登录成功,并刷新页面。在JavaScript 中用location.href=''Default.aspx"实现页面跳转 。 在HTML 中通过<a href="Default.aspx ?BoardID ="> </a>实现页面跳转
}
}
}
}
}
}
6、再来btn_Reg的按键的单击事件了。
protected void btn_Reg_Click()
{
Response.Redirect("Reg.aspx"); //点击注册按钮,转向注册页面。 特别注意三种页面跳转的方式
}
7、接下来设置Reg.aspx 的页面了。新建一个Web窗体并取名。使用<table><tr><td>标签设置好页面内容。用在Default主题下的CSS文件配置样式。如果table 的背景颜色与 tr的背景颜色不一样,并且 在table 中CellSaping="1",就表示子表格具有1像素的边框。
也可以在Css文件中设置超链接的属性,顺序为LVHA,link,visited,hover,active. 可以通过以下设置只有鼠标停留在上方的时候有下划线,字体颜色为黑色,其余没有下划线,字体颜色为白色。
a{text-decoration:none;color:#0000;}
a:hover
{text-decoration:underline;color:#ffffff;}
再将文本框控件,下拉框控件,单选框\控件、CheckBox控件拖进去,tb_UserName,tb_UserEmail,ddl_UserFace、Rul_UserGender拖进去。再设置属性。
8、接下来写Reg.aspx的后台代码。
UserID=Guid.newGuid().tostring(); //获取UserID
再连接数据库,将选择的内容以参数化的形式加入到sql语句中去。再将UserID,UserName写入session,最后启用Page.ClientScript.RegisterStartUPScript(this.GetType(),"","<script>alert('登录成功');location.href='Default.aspx'</script>实现页面跳转