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>实现页面跳转

posted on 2012-10-09 08:54  来者犹可鉴  阅读(4400)  评论(0编辑  收藏  举报