由于我的编程时间太长,我将首先写出我的假设,因为我的理论可能不太正确。
假设:
问题:
由于我被迫使用页面方法从客户端(javascript)获取一些数据,我别无选择,只能使用静态方法。我想要实现的是能够在会话变量中存储页面实例或至少某种引用,以便稍后我可以回到它并获取或设置所需页面实例中特定控件的值。
所以我所做的是:我将当前实例(this)存储在会话变量中。这只在PageLoad上分配一次(!isPostback)。
遵循引用类型的逻辑,页面实例中的每个更改都应该反映在会话变量中,但不知道它是不是。如果某些控件的值发生了变化,我可以很容易地看到它们反映在postBack上的页面实例中(正如它们所应),但是我的会话变量的内容没有被更改。它表现得好像是一个结构。
当我试图将实例存储在静态类变量中时,会发生同样的情况(尽管即使它起作用也不是解决方案,因为它是一个多用户Web应用程序)。
任何人都可以向我解释发生了什么,并纠正我的想法,如果它错了。