日期:2014-05-18  浏览次数:20368 次

一个页面里放50个GridView控件绑定数据,打开速度慢,如何调整?
一个页面里放50个GridView控件绑定数据,打开速度慢,如何调整?
我是这么写的
private void dd1()
  {
  string sql = "select top 10 * from xxxx where xx='1' ORDER BY x_id DESC";
  SqlDataReader mydr = SqlHelper.ExecuteReader(SqlHelper.cing, CommandType.Text, sql, null);
  GridView1.DataSource = mydr;
  GridView1.DataBind();
  }
 然后一直下去,共有50个GridView控件同时绑定数据,感觉打开有点慢;
不知如何优化?或者如何读取绑定数据为妙?



------解决方案--------------------
那么多?看看能不能用下缓存,还有viewstate是不是必须要用,没用的就关掉吧。
------解决方案--------------------
是不是要50个GridView 要同时加载。。不要的话就分批次加载。。
------解决方案--------------------
什么需求要50个GridView的?
禁用viewstate
可尝试用stringbuild 输出html
有交互的话 用ajax

------解决方案--------------------
50个GridView? 要显示时到后台取数据绑定 一个界面不可能同时显示50个吧
------解决方案--------------------
首页用纯html吧
只是数据呈现 就简单多了
------解决方案--------------------
首先把绑定的控件改为Repeater吧

Repeater循环HTML,而且代码干净,不产生垃圾代码


页面需要绑定内容过多的话其实有个好解决方法

分模块去绑定XML,页面直接读取XML

页面内容更改频繁的地方才去绑数据库,改动不大绑XML
------解决方案--------------------
额滴神,这么多的,还没能见过,只做数据显示的话,就改用repeater吧,把viewstate给禁掉,数据可以适当的启用缓存 ,优化查询语句,尽量用存储过程吧,不过这些纯个人意见。。。
------解决方案--------------------
建议用repeater控件。

------解决方案--------------------
探讨

是的,要显示的,这个页面好比新浪的首页面

------解决方案--------------------
一个页面绑定50个gv,什么需要用这样的,其实妙用
------解决方案--------------------
探讨

引用:

是的,要显示的,这个页面好比新浪的首页面

新浪首页 也不是放那么多的gridview吧!
考虑下Repeater 或者datalist

------解决方案--------------------

。。。。太多了吧。。

给你点建议:

本来就这么多,要用控件就用点轻量级的repeater

有些建议用AJAX去加载数据...

在不常变动的地方加缓存...
------解决方案--------------------
1,使用页面级缓存,直接用官方的;

2,使用异步编程方式,并发读取绑定操作(不同异步编程,可以谷歌一个asp.net异步编程)。
------解决方案--------------------
那么多,gv这个控件本来就是很重量级的,建议LZ还是直接拼接html吧
------解决方案--------------------
写个生成html代码的工具吧。。。。。。。我擦50个gridview