在数据绑定控件的应用中,遇到这样的问题:
因为我的数据源查询是通过在存储过程中通过游标遍历数据库得到的数据集,所以我不希望每次GridView中的回发事件,类似排序,分页等之类的操作(不改变查询条件的情况)都去调用这个存储过程进行对数据库进行查询,所以我现在采用的方法是查询之后得到的数据集,在页面进行排序和分页的处理之后绑定,然后通过ViewState回发处理之前的数据集,之后的排序,分页等操作都是直接对接收服务器回发的ViewState中的数据集进行操作,这样就避免了我频繁对数据库进行的游标操作,当然是在不改变查询条件的情况下。而且这里的排序也是对整个数据集的排序,而不是分页之后当前页的排序。
请问下这种处理方法可行不,其中可能会出现什么问题。
还有有别的思路对这种情况进行处理么,例如浏览器缓存之类,谢谢大家意见
览器缓存 是放在客户端的……。
你可以asp.net自带的缓存,也可以用企业库的缓存。
在每次数据更新的时候清空缓存,读取数据的时候先判断缓存中有无数据,没有就从数据库中读取并把数据加到缓存中,有就从缓存中读。
不建议这样做,这样的话容易产生脏数据
还是建议你将读取数据的存储过程更改一下,做成分页读取的存储过程