一个弱智的问题。登陆的问题!
登陆截面代码:
public partial class admin_login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if ((this.TextBox1.Text == "admin") && (this.TextBox2.Text == "admin"))
{
Response.Redirect("admin.aspx");
Session["username"] = this.TextBox1.Text;
}
else
{
Response.Write("<script>alert('用户名密码错误!');</script>");
}
}
}
admin.aspx页面代码:
protected void Page_Load(object sender, EventArgs e)
{
if(Session["username"]==null)
{
Response.Redirect("login.aspx");
}
}
登陆了:admin,admin
结果居然没有登陆到admin.aspx页面。但是注销admin.aspx的
if(Session["username"]==null)
{
Response.Redirect("login.aspx");
}
就能登陆进去了。
为什么呢??刚刚学!
------解决方案-------------------- 顺序错误了,你先转移的页面,然后写的Session,后面的Session根们就没有写入
把他们的顺序该一下,如下:
Session["username"] = this.TextBox1.Text;
Response.Redirect("admin.aspx");
------解决方案--------------------另外楼上的也有道理。我刚才还没注意看。。位置确实需要交换一下。
Session["username"] = this.TextBox1.Text;
Response.Redirect("admin.aspx");
------解决方案-------------------- //session是否过期,若过期,自动跳往登录界面
if ((object)this.Session["Oper"] == null )
Response.Redirect("./UserLogin.aspx");
}