ASP.NET GridView 分页事件中的数据绑定怎样才能就使用当前的数据源?

因为目前获取数据源比较缓慢,如果在翻页时重新执行获取数据源的方法,性能太差。

阅读 6.2k
3 个回答

翻页优化

之前翻页事件(OnPageIndexChanging)函数中,是按照常规的方法来做的:获取并设置分页索引,重新执行数据源获取绑定方法。

问题在于,数据源获取逻辑比较复杂,耗时太长,未优化之前经常服务器超时,优化过后仍需要30秒(查询情况较极端),所以不能重新获取数据源来做。

网上也没找到适用于 GridView 这种情况的其它好方法。

本来想用 ViewState 来存储数据源,但可能数据太大了,再从其中取数据时就为空了。尝试了直接使用 ViewState、使用属性方式使用 ViewState、直接用属性存储,都不行。

最后,使用缓存(Cache),可以了。
图片描述

还可改为使用属性的方式使用 Cache。
图片描述

UpdatePanel


前端可优化的不多 基本就是ajax传递pageNo,pageSize请求返回json动态渲染
主要是后端的优化 缓存/数据源查询优化等等 所以主要问题是获取数据源比较缓慢

新手上路,请多包涵

放弃拖控件的开发方式吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进