如何清除gridview分页中使用的Session

问题描述 投票:0回答:2

我在Gridview中实现了分页,为了避免频繁地重新连接数据库,我使用Session来存储数据。这样当Gridview的页面索引发生变化时可以从Session中检索数据。 但我的问题是,我什么时候应该清除这个会话,因为它只能用于这个页面。如果我使用 ViewState 那么如果数据量增加,那就不好了。

期待您的宝贵建议......
预先感谢
苏普利亚

asp.net session gridview pagination
2个回答
0
投票

您不应该将任何数据保存到会话中。如果数据控件需要每页数据,则可以在每次页面更改时从数据库中仅选择所需的行。

因此,如果您有 100 行且每页 10 行,那么您应该在数据控件的每个 PageChange 中检索 10 行。这是完全可以接受的,尤其是与缓存结合使用时。

如果您使用的是 SQl 2005,请参阅此帖子: http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx


0
投票

我认为您不应该担心数据库连接。连接池将采取这种情况。您必须打开连接并在获得分页记录后立即关闭连接。

如果您将记录存储在视图状态/缓存中,这将不必要地使用资源,并且可能与数据库不同步。我认为这是一个不好的方法。

每次更改页面时都应该调用并从数据库检索记录。

希望有帮助。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.