我有一个MVC应用程序,它根据内部静态IP地址设置一些会话变量。会话变量不保存在初始页面加载
我已经构建了一个ApplicationController来覆盖MVC中的OnActionExecuted子部分,以便在整个应用程序中使用该数据。
但是,下面的代码只是我代码的一部分,但是对于我的帖子进行了编辑,但部分代码无法使用。在初始页面加载时,会话变量不会被保存,而是在页面刷新后。我遇到的问题是这些需要保存在初始页面加载。
If Session("Item1") = Nothing Then
If IpAddressShort <> "" Then
Dim locInfo = cmsRepository.GetInfoBasedOnLocation(IpAddressShort).SingleOrDefault()
If locInfo IsNot Nothing Then
Session("Item1") = locInfo.Item1
Session("Item2") = locInfo.Item2
Session("Item3") = locInfo.Item3
Session("Item4") = locInfo.Item4
If locInfo.Item2= "1" Then
Session("Visibility") = 3
Session("TypeShort") = "XXXX"
ElseIf locInfo.Item2= "2" Then
Session("Visibility") = 4
Session("TypeShort") = "YYYY"
ElseIf locInfo.Item2= "9" Then
Session("Visibility") = 2
Session("TypeShort") = "ZZZZZ"
End If
End If
End If
End If
从理论上说,如果我是正确的,如果没有Session("Item1")
集/如果Session("Item1")
是空的,那么代码段的其余部分应运行,并设置这些变量。
这是怎么没有在第一次页面加载时设置这些变量?
感谢提前