跨回发持久化c#对象



我有一个asp.net页面,它后面有c#代码,可以在page_Load()方法中做一些事情(比如查询数据库并进行一些其他调用来用数据填充对象)。然后我在页面上显示这些数据。这一切都很好。我设置了几个回发,这样当单击列表框中的值时,面板控件就会填充相应对象的其余数据。我认为回发是正确的方法,但这会导致(整个类?)被重新调用,从而重新初始化我的对象并销毁我想要保留的数据。

某种形式的部分回发会解决这个问题吗?或者有更好的方法来实现我想要做的事情吗?

我不想每次调用回发时都重新填充对象,因为这需要数据库查询,而且我希望避免每次单击某个东西时都重新查询。。。

我发现了许多关于持久化Javascript对象的问题,但似乎没有什么能真正解决这个问题。我正在使用.Net 4.0

将对象放入当前用户的Session中。

将所有初始化内容放在(!IsPostback) { }中,并使用部分回发。这样,在回发期间就不会再次调用初始化代码。

为什么不缓存对象?

缓存API,使用缓存对象:http://msdn.microsoft.com/en-us/library/aa478965.aspx#aspnet-计算技术最佳实践4

最新更新