原帖:http://topic.csdn.net/u/20091012/14/363da1f3-2f9e-4a73-b3ab-5ceefb722dcd.html我向数据库插入了5000条的数据。然后新建个页面,放个gridview,绑定了个数据源,不分页,一页显示5000条。
情况1 :  Gridview默认的visible=true,加载页面时会卡,加载完,我F5,也会卡。情况2 :  Gridview默认的visible=false,我又放了个button上去,点击button,visible=true。
          当页面加载时,很快。我不停的F5。仍然很快。
          然后我点击button,让gridview显示,这时才卡。猜想,数据是当控件的visible=true时,才读取加载的,所以,那个问题,选择 1 ,会快一些。当然可能只快了0.000000001毫秒。
对吗?请大神们给分析一下,谢谢。

解决方案 »

  1.   

    visible=false的话,根本没有内容,当然快了
      

  2.   

    呵呵,楼主还真有毅力
    刚才我是选的第一种
    但是这也不是绝对的
    一般如果只有显示和不显示两种情况时,就用 visible的方式
    如果是分不显示,显示,显示又再分显示什么内容的话,就会用visible + text的方式
    看具体需要了
      

  3.   

    效率应该是一样的
    个人认为都是读取后加载到内存中的,
    当是控件false,页面源码中没有这个控件,当button点击呈现,从内存中加载进来
    前后都是从内存中加载进来,认为效率一样
      

  4.   

    有问题....呵呵.用的服务器控件 .如果你点按钮会执行一次服务器事件.
    而第一种情况则一次性执行完了,
    而第二种是点按钮后才去加载数据.所以在加载数据时都会卡....
    asp.net在显示是如果visible=false了,这个控件就不会执行相关的数据加载等事件.而如果你要显示才会执行相关的程序...
    如果你真要测试.建议你用css的display:none来控件显示否,这样都是一次性加载完,然后在页面上控件是否显示.呵呵...如果有空,可以多看一些牛人写的webform优化文章 !很显示的关于页面加载顺序,并优化显示方面的东西.
      

  5.   

    5000个不分页是不是有点夸张啊,Visable=false后台是读取不到此隐藏列的数据