Asp.net 如何真正结束课程

Asp.net 如何真正结束课程,asp.net,session,Asp.net,Session,我正在使用会话保持我的登录。我还将在我拥有的每个页面上测试它,如下所示: if (Session["login"] != null) { LbLogado.Text = ""; LbLogado.Text += "Logado Com: " + Session["login"].ToString(); } else { Response.Redirect("~/login.aspx"); } 我还有一个按钮exit,这是一个事件: Session.Clear(); Re

我正在使用
会话
保持我的
登录
。我还将在我拥有的每个
页面上测试它,如下所示:

if (Session["login"] != null)
{
    LbLogado.Text = "";
    LbLogado.Text += "Logado Com: " + Session["login"].ToString();
}
else
{
    Response.Redirect("~/login.aspx");
}
我还有一个按钮
exit
,这是一个事件:

Session.Clear();
Response.Redirect("~/Login.aspx");
当我点击退出按钮时,我想结束我的每一次
会话。
发生的情况是,当我退出并单击浏览器返回到上一个网页时,它将正常返回到页面,但我想重定向到
login.aspx
页面,因为没有活动的
会话。
我发现了一些类似的文章。但这不是我的观点。

你应该打电话:

Session.Abandon();
Response.Redirect("~/Login.aspx");
Session.Abandon();
发件人:

一旦调用了放弃方法,当前会话就不再有效,可以启动新会话。放弃导致引发结束事件。下次请求时将引发新的启动事件

你应致电:

Session.Abandon();
发件人:

一旦调用了放弃方法,当前会话就不再有效,可以启动新会话。放弃导致引发结束事件。下次请求时将引发新的启动事件

这应该适用于您的情况:

这应该适用于您的情况:


你看过会话了吗?放弃-因为你想结束每一个会话-而且如果你回击并刷新,后退动作实际上不会发出a/get。你可能会得到预期的行为。你看过会话了吗?放弃-因为你想结束每一个会话-如果你回击,后退动作也不会发出a/get返回并刷新您可能会得到预期的行为当我单击返回上一页时,它会正常加载页面,但如果我尝试与该页面交互,它会将我返回到登录页面。当我单击返回上一页时,它是否可以显示页面,它测试
会话
,然后直接转到login.aspx?或者这是唯一的方法?验证
(Session[“login”!=null){……}或者{Response.Redirect(“~/login.aspx”);}
没有这样做?只有当我尝试与网页交互时(单击链接)。但当我单击返回上一页时,它不会进入
page\u load
事件。但我想这很正常。。。是吗?是的,这是浏览器的行为。当我单击返回上一页时,它会正常加载该页,但如果我尝试与该页交互,它会将我返回到登录页。当我单击返回上一页时,它是否可以显示页面,它测试
会话
,然后直接转到login.aspx?或者这是唯一的方法?验证
(Session[“login”!=null){……}或者{Response.Redirect(“~/login.aspx”);}
没有这样做?只有当我尝试与网页交互时(单击链接)。但当我单击返回上一页时,它不会进入
page\u load
事件。但我想这很正常。。。是吗?是的,这是浏览器的行为。