ASP.net会话清除

时间:2013-12-13 12:44:13

标签: asp.net vb.net visual-studio session

我有一个网站,在Page_Load的登录页面上,它会清除Session。我试过了:

Session.Clear()
Session.RemoveAll()
Session.Abandon()

然后,一旦填写了登录页面并单击了提交按钮,它就会添加两个值:

Session.Add("ref", ref)
Session.Add("date", datetxt)

在下一页上,我设置了一个if语句:

If Session.Item("ref") = Nothing Then
    Response.Redirect("Login.aspx")
End If

然而,当它只是保持重定向回登录而不是加载,即使我已经添加了Session“Ref”值。

你能帮帮忙吗?

2 个答案:

答案 0 :(得分:0)

对您的Login.aspx网页代码进行细微更改,并清除ispostback面错误状态下的所有会话变量。

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
   If Not IsPostback Then
      Session.RemoveAll() 
      Session.Clear() 
      Session.Abandon() 
   End If
  End Sub

答案 1 :(得分:0)

将OnLoad代码修改为仅在第一次调用该登录页面时清除会话,在回发时

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
   If Not IsPostback Then
      Session.RemoveAll() 
      Session.Clear() 
      Session.Abandon() 
   End If
End Sub

您放弃了每个会话,包括您刚刚编写的登录数据。卸载当前页面(已完成处理)时会发生放弃。