我正在使用一些会话变量来存储和传递ASP.Net应用程序的多个页面上的数据。但是这种行为有点不可预测。我正在设置会话变量post page_load,如下所示
Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
If (Session.Item("ScholarshipID") = Nothing) Then
Session.Add("ScholarshipID", "Summer2011")
End If
好的,在正常页面加载时很好。如果用户完成表单操作,点击下一页,并决定OH NO,我需要更改字段xyz,然后单击返回,更正数据,然后提交,会话变量显示为NULL。为什么缓存会话会以这种方式运行?我不是在破坏/清除变量,除非我不理解会话变量的范围。
答案 0 :(得分:0)
尝试
If (IsNothing(Session("Scholarship"))) Then
Session("Scholarship") = "Summer2011"
End If