我有一个网站,在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”值。
你能帮帮忙吗?
答案 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
您放弃了每个会话,包括您刚刚编写的登录数据。卸载当前页面(已完成处理)时会发生放弃。