在我的C#代码隐藏文件(.cs)中,我只有一个类,它是从System.Web.UI.Page派生的。该类包含字典数组。在按钮点击之一中,即在按钮点击事件处理函数中,我创建该类的对象并执行一些操作。现在,在另一个按钮上单击,我需要做其他事情,这需要属于在上一次按钮单击时创建的类的对象或实例的数据。我怎样才能做到这一点?我需要所有数据,尤其是属于该对象/类实例的字典数组。C#:如何使类变量持久
-4
A
回答
3
HTTP是无状态的。所以没有直接的方法来做到这一点。
你可以做的是保存在一些存储机制,并在稍后访问它。您可以考虑DB table
,Session
等等
下面是一个例子,Session
来存储你可以访问此在接下来的按钮单击事件这样
if(Session["ThatObject"]!=null)
{
YourClass object1=(YourClass) Session["ThatObject"];
//now you can access object1 properties here.
}
它在会话中存储这么多项目并不是一个好主意,因为它会使服务器在会话存储在服务器中时哭泣。
1
您可以使用静态声明,以便它在请求中保持不变。
static IDictionary<string,object> myPersistentDict;
当然,你必须担心这种方法的线程安全。如果您使用.NET 4中,有一个内置在为您处理此字典类,ConcurrentDictionary
static ConcurrentDictionary<string, object> myPersistentDict;
相关问题
- 1. 持久化类变量
- 2. 轨持久化类变量
- 3. Django:使变量持久
- 4. 量角器持久变量
- 5. Asp.Net/C#静态变量持久性
- 6. c中的持久局部变量
- 7. 如何在Rails中跨页加载持久化Ruby类变量?
- 8. PowerShell中的持久变量
- 9. PHP变量持久性
- 10. iframe上的持久变量?
- 11. PHP:持久变量值
- 12. Automator变量是否持久?
- 13. nodeJS中的持久变量
- 14. jquery中的持久变量
- 15. 持久的Makefile变量
- 16. 动态持久变量
- 17. 如何更新变量并使其在Java中保持持久性?
- 18. 如何使一个变量永久固定在C#中?
- 19. 类不持久?
- 20. 持久HTTP GET变量是在PHP
- 21. Apache mod_wsgi python变量持久性
- 22. wp7中的持久全局变量
- 23. OpenGL统一变量持久性
- 24. rails中的持久实例变量3
- 25. 变量内容不是持久的
- 26. Dask工作者持久变量
- 27. 通过Ruby持久化环境变量
- 28. 调用一个持久化包变量
- 29. 会话持久性的变量包装
- 30. JavaScript初始变量和持久性
谢谢Shyju。这工作完美。但是现在我面临着另一个问题。在第一个按钮点击,我基本上动态地创建一个html表。该表格也包含一些复选框。现在一旦表格被渲染,用户可以选择其中一个或多个复选框。问题是,在页面重新加载之后,即在点击第二个按钮之后,我无法确定设置了哪个复选框。这是因为在渲染表格后,我将类变量存储在会话中。因此,在会话变量中,所有复选框始终处于未选中状态。任何解决方案我怎样才能存储这些复选框的状态呢? – user1465266
@ user1465266您可以使用ajax创建服务器页面并更新存储器中的值(Session变量) – Shyju
所以,您的意思是我需要使用ajax来更新存储在我的会话变量中的值?对不起,但我对.net和其他网络技术很陌生。你能否详细说明一下?谢谢... – user1465266