用Session做实现退出登录,怎么也不行
做了两个页面
A页面: 登录页面,放置了用户名和口令两个文本框和一个按钮
html:
<body>
<form id= "form1 " runat= "server ">
<div>
<asp:TextBox ID= "uid " runat= "server "> </asp:TextBox>
<asp:TextBox ID= "pwd " runat= "server "> </asp:TextBox>
<asp:Button ID= "Cmd " runat= "server " OnClick= "Cmd_Click " Text= "登录 " /> </div>
</form>
</body>
cs:
protected void Cmd_Click(object sender, EventArgs e)
{
if (uid.Text == "a " && pwd.Text == "123 ")
{
Session[ "login "] = "ok ";
Response.Redirect( "B.aspx ");
}
}
B页面:放了一个按钮,点击这个按钮,退出Session
html:
<body>
<form id= "form1 " runat= "server ">
<div>
<asp:Button ID= "Button1 " runat= "server " OnClick= "Button1_Click " Text= "退出登录 " /> </div>
</form>
</body>
CS:
protected void Page_Load(object sender, EventArgs e)
{
if (Session[ "login "] == null)
Response.Redirect( "A.aspx ");
else
if (Session[ "login "] != "ok ")
Response.Redirect( "A.aspx ");
}
protected void Button1_Click(object sender, EventArgs e)
{
Session[ "login "] = null;
}
现在出现的问题是:如果直接打开B页面,自动会回到A页面,但是如果在A页面上成功登录,进入B页面,接着点那个退出登录按钮,这个时候在地址栏里输入B页面地址,并不能跳到A页面,感觉是Session[ "login "] = null 没有起作用。