ASP.net登录页面。
登录,首先从登录页面的html的控件中得到用户输入的用户名和密码,与数据库中记录比对。如果是合法用户,设置Session,并跳转到默认页面;否则,跳转到注册页面。
如果用户不登陆而直接访问默认页面,也会跳转到注册页面。
登陆页面处理逻辑:
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btn_login_Click(object sender, EventArgs e) { String uname = this.tname.Text.Trim(); String upass = this.tpass.Text.Trim(); if (uname.Equals("1") && upass.Equals("1")) { Session["uname"] = uname; Session["upass"] = upass; Response.Write("<script>alert('yeah!')</script>"); Server.Transfer("Index.aspx"); } else { Response.Write("<script>alert('no!')</script>"); Server.Transfer("Regedit.aspx"); } } }
默认页面处理逻辑:
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session["uname"] != null) { Response.Write("<script>alert('session!')</script>"); //Response.Redirect("http://byhh.net"); } else { Response.Write("<script>alert('no session!')</script>"); //Response.Redirect("http://www.baidu.com"); } } }
在默认页面遇到一点小问题。报错:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 14: protected void Page_Load(object sender, EventArgs e) 行 15: { 行 16: if (Session["uname"].ToString() == ("1")) 行 17: { 行 18: Response.Write("<script>alert('session!')</script>"); |
错误原因:在调用 Session["userid"].ToString() 前应先检查 Session["userid"] 对象是否为 null 在未登录的情况下, Session["userid"] 的值是null,直接用ToString()方法肯定会出错的...