asp.net中的会话注销

时间:2012-01-28 05:30:31

标签: asp.net

我有一个登录页面(default.aspx),后跟2个asp.net页面(page1.aspx,page2.aspx) 在具有注销按钮的母版页下。当我单击logout时,它会使会话为空,因此注销。

但是当我将page1.aspx的url放在地址栏中后退出时,它会再次显示页面(page1.aspx)。

我的退出按钮代码:

Session["id"] = null;
Response.Redirect("Default.aspx");
Response.Cache.SetNoStore();
Response.CacheControl = "no-cache";

5 个答案:

答案 0 :(得分:4)

你必须使用会话放弃方法Session abandon     Session.Abandon()

答案 1 :(得分:2)

试试这段代码:

 Session.Abandon();
 Session.Clear();
 Response.Cookies.Clear();
 Response.Redirect("Default.aspx");

答案 2 :(得分:1)

首先,您必须清除会话值,然后重定向到另一个页面后

Session["id"] = null;
Session.Clear();
Response.Cookies.Clear();
Response.Cache.SetNoStore();
Response.CacheControl = "no-cache";
Response.Redirect("Default.aspx");

答案 3 :(得分:0)

您可以尝试删除包含会话ID的Cookie。像这样:

Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));

答案 4 :(得分:0)

根据之前的回答,您绝对可以使用Session.Abandon();,之后您必须检查特定页面加载时会话值的条件。

if (Session["Name"] == null)
{
    Response.Redirect("Login.aspx");
}