一个页面,里面有120多个文本框,120多个下拉框,都用的是服务端控件,是用的DEVEXPRESS的空间,显示的时候,页面要经过大概10几秒才能出来。请问,
1.是不是使用了很多服务端控件后会造成页面加载速度慢?
2.如果提高页面的加载速度?

解决方案 »

  1.   

    网速 服完器 .....
    最好使用html标签 你的页面一看就下一跳 这么多的服务器控件 肯定会卡的
      

  2.   

    网速的问题,服务器可以开启GZip压缩或使用第三方的http压缩组件,那样可以减少60%以上的数据流
      

  3.   

    做的是业务系统,有一个报表有106项填报数据,而且每个数据前面都加个下拉框用来选择大于号,等于号和小于号,所以会有这么多控件。如果用HTML的控件。带来的问题就是无法保持下拉框中选择的符号。如果没有好的办法,那只有把一个页面拆成几个页面来显示了
      

  4.   

    服务器端控件太多,能简化就使用html控件
    或在页面显示时显示进度条
      

  5.   

    看有没有用到ViewState,没有的话,把ViewState禁了
      

  6.   

    做成ajax的数据表格,点哪个格子或行,再加载显示html标签, 移出焦点时,判断或发送数据。
      

  7.   

    尽量少用服务器控件,用html控件!!!!
      

  8.   

    能用HTml取代的服务器端控件都取代了!速度一定能加快!是不是机器装多了程序卡的!
    好好调整下 
      

  9.   

    不说服务器控件慢,即使改成html,就是加载这么多标记,也快不到哪去,而且一个页面这么多东西需要填,假如用户填错了一个,可能全部要重新填,对于用户来说也很惨那其实咱上网注册东西的时候经常会发现很多注册的时候,填写的内容都是一部分一部分填的
      

  10.   

    建议LZ还是使用html标签
    因为asp.net的回发机制,如果服务器控件都是状态保持的
    这就意味着每一次回发都会传输大量的控件状态数据,客户端的解析也会慢
    也可以禁用状态保持
    但还是建议使用html控件好些
      

  11.   

    我在有上千个控件的页面上也没有遇到10秒钟的情况啊。你应该为页面设置Trace属性,或者自己在页面上打印处理时间(就像google或者百度打印查询时间似地)。这类时间相关的问题不要简单地问别人,在csdn上你很容易得到错误的答案。自己测试,打印出每一页面的后台处理时间。
      

  12.   

    我在有上千个控件的页面上也没有遇到10秒钟的情况啊。你应该为页面设置Trace属性,或者自己在页面上打印处理时间(就像google或者百度打印查询时间似地)。这类时间相关的问题不要简单地问别人,在csdn上你很容易得到错误的答案。自己测试,打印出每一页面的后台处理时间。
      

  13.   

    DEVEXPRESS 控件我没有用过。但是但凡使用哪种很酷的web控件,大概都会很慢。你可以试试其它家的控件,不过大多都是收费的,而且技术支持很差。自己写就快了——呵呵,这是废话。也许对你来说没用,不过我还是说一次废话,自己写而不使用DEVEXPRESS控件就快了。尽管,这是不了解你的需求的废话,仅供你参考。
      

  14.   

    这么多Server端控件,慢是肯定的.
      

  15.   

    感谢大家的回复。其实一个页面用这么多控件,也是考虑到业务流程方面的因素。比如,某个东西按照国家标准检测,检测出来的各种数据本身就没有什么业务流程,而仅仅是一张表格。要把这些检测数据填写到页面上,放到一个页面中肯定比拆成几个页面对操作者来说更方便。说到viewstate,因为保存时候仍然想保留页面上的数据,如果不用viewstate,那么就要重新读取数据来填写页面,仍然会造成页面显示慢。从回复来看,只有拆分页面了。
      

  16.   

    至少viewstate和回发后用户输入控件的内容保持好像没关系吧。就比如文本框里输入文字后,点按钮PostBack,输入的东西还保持着,这个和ViewState完全无关。