2012-02-10 62 views
0

我已经在Gridview中实现了分页,为了避免与数据库频繁重新连接,我使用Session来存储数据。因此,可以在更改Gridview的页面索引时从会话中检索数据。 但我的问题是,当我应该清除这个会话,因为它只能用于这个非常page.And如果我使用ViewState,那么它会不会很好,如果数据量增加。如何清除Gridview分页中使用的会话

期待着你的宝贵意见.....
预先感谢
Supriya

+0

更好的方法是检索每个页面的行。但它需要为每个页面点击获取数据。如果数据很大,加载所有数据并保持会话将导致性能问题并可能导致内存不足异常。 – 2012-02-10 09:32:09

+0

您最好使用缓存而不是session/viewstate ...以便我们可以保留一些过期时间,以便自动完成..如果它对所有用户都是通用的... – Madhu 2012-02-10 09:32:46

回答

0

你不应该被任何数据保存到会话。如果数据控件需要每页数据,那么从每页更改的数据库中只选择需要的行是很好的。

所以,如果你有每页100行和10行,那么你应该检索每个PageChange数据控件的10行。这是完全可以接受的,特别是与缓存结合时。

Ifyou使用的是SQL 2005年看到这个帖子: http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx

0

我不认为你应该担心数据库的连接。连接池将采取这种情况。只要您获得分页记录,就必须打开连接并关闭。

如果您将您的记录存储在viewstate/cache中,这将不必要地使用资源并可能与数据库不同步。我认为这是一种糟糕的做法。

每次更改页面并从db中检索记录时,您都应该拨打电话。

希望它有帮助。