6

我有一个带有 c# 代码隐藏的 asp.net 页面,它在 Page_Load() 方法中执行一些操作(例如查询数据库并进行其他一些调用以使用数据填充对象)。然后我在页面上显示这些数据。这一切都很好。我设置了几个回发,以便在单击列表框中的值时,面板控件将填充相应对象的其余数据。我认为回发是这样做的正确方法,但这会导致(整个类?)被重新调用,这会重新初始化我的对象并破坏我想要保留的数据。

某种形式的部分回发会解决这个问题,还是有更好的方法来实现我正在尝试做的事情?

我不想在每次调用回发时重新填充对象,因为这需要数据库查询,并且我想避免每次单击某些内容时重新查询...

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

4

3 回答 3

3

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

于 2011-06-10T16:16:41.113 回答
2

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

于 2011-06-10T16:18:45.630 回答
1

为什么不缓存对象?

缓存 API,使用缓存对象:http: //msdn.microsoft.com/en-us/library/aa478965.aspx#aspnet-cachingtechniquesbestpract_topic4

于 2011-06-10T16:18:36.597 回答