我正在对由不再在我的组织中工作的程序员创建的项目进行故障排除,并且在此特定页面的代码后面,正在使用会话变量,我无法分辨这些项的价值变量是或定义它们的位置。
我阅读了以下关于会话状态的页面(由于Stack Overflow的限制,无法发布我想要的数量): http://msdn.microsoft.com/en-us/library/ms178581(v=vs.100) http://msdn.microsoft.com/en-us/library/6ad7zeeb(v=vs.100)
也许我似乎无法将我的大脑包围在不必定义Session变量的事实上。但我的主要问题是 - 如果未在代码显式中定义会话变量的值,ASP.NET如何知道会话变量的值是多少?例如,ASP.NET如何知道名为“varCalDept”的Session变量的值? ASP.NET如何知道名为“varTextBox”的Session变量等于Web表单上文本框的值,如果该变量未明确分配给文本框?就我而言,没有明确的定义,该变量可能等于标签文本,组合框或其他任何东西,对吧?整件事对我来说似乎是武断的。
我正在查看的代码的目的是从数据库中获取日历事件,然后将它们发送到网页上的日历控件,突出显示日历上包含事件的日期背景。< / p>
我可以特别提到的代码的一部分让我感到困惑的是创建数据集和数据适配器的部分,如果会话变量等于某个值,则使用特定查询填充数据适配器:
Dim ds As New DataSet
Dim da As OracleDataAdapter
If Not (Session("varCalDept") Is Nothing) Then
If Session("varCalDept") = "County-Wide" Then
da = New OracleDataAdapter(<query here>)
Else
da = New OracleDataAdapter(<query here>)
等
我在项目的其他任何地方都找不到“varCalDept”的定义,所以我很困惑。任何人都可以向我解释他们对这个变量的构成吗?
很抱歉,如果这令人困惑。如果你认为你不能回答我的问题,但是你可以指出我正确的方向,我将非常感激。关于此事的任何文章,资源等都会有所帮助。