刚接触C#  用.net编的Web,拖了pannel、gridview、pagecontrol、tabcontrol、日历等控件,接管如页面标签切换事件,每次切换时客户端刷新页面缓慢,请教各位,谢谢

解决方案 »

  1.   

    DEV控件本身就是二次封装的控件加载是比较慢的,很吃内存,你运行项目自己监视一下内存,看看是不是只增不减,另一个问题 web的你还用dev控件没必要
      

  2.   

    恩   窗口程序还好,主要web界面数据重新绑定后控件展示出来比较慢
    客户端IE查看源码中很多执行代码,如下  示例,看看哪能优化下?
    <script id="dxss_2043337564" type="text/javascript">
    <!--var dxo = new ASPxClientGridView('ASPxSplitter1_pcMain_ASPxPageControlSysset_ASPxGridViewSysHardWareCorrect');
    window['ASPxSplitter1_pcMain_ASPxPageControlSysset_ASPxGridViewSysHardWareCorrect'] = dxo;
    dxo.callBack = function(arg) { WebForm_DoCallback('ASPxSplitter1$pcMain$ASPxPageControlSysset$ASPxGridViewSysHardWareCorrect',arg,aspxCallback,'ASPxSplitter1_pcMain_ASPxPageControlSysset_ASPxGridViewSysHardWareCorrect',aspxCallbackError,true); };
    dxo.uniqueID = 'ASPxSplitter1$pcMain$ASPxPageControlSysset$ASPxGridViewSysHardWareCorrect';
    dxo.renderIFrameForPopupElements = true;
    dxo.callBacksEnabled=false;
    dxo.pageRowCount=0;
    dxo.pageRowSize=10;
    dxo.pageIndex=0;
    dxo.pageCount=0;
    dxo.selectedWithoutPageRowCount=0;
    dxo.visibleStartIndex=0;
    dxo.focusedRowIndex=-1;
    dxo.allowFocusedRow=false;
    dxo.allowSelectByRowClick=false;
    dxo.allowSelectSingleRowOnly=false;
    dxo.isColumnsResizable=false;
    dxo.isVerticalScrolling=false;
    dxo.isHorizontalScrolling=false;
    dxo.isMainControlResizable=false;
    dxo.indentColumnCount=0;
    dxo.callbackOnFocusedRowChanged=false;
    dxo.callbackOnSelectionChanged=false;
    dxo.autoFilterDelay='1200';
    dxo.columns = [new ASPxClientGridViewColumn('',0,-1,null,1,'',0,0,1,0),
    new ASPxClientGridViewColumn('',1,-1,'PT1',1,'',1,0,1,0),
    new ASPxClientGridViewColumn('',2,-1,'PT2',1,'',1,0,1,0),
    new ASPxClientGridViewColumn('',3,-1,'PT3',1,'',1,0,1,0)];
    dxo.editState=0;
    dxo.InlineInitialize();//-->
    </script><script id="dxss_834840448" type="text/javascript">
    <!--var dxo = new ASPxClientPageControl('ASPxSplitter1_pcMain');
    window['ASPxSplitter1_pcMain'] = dxo;
    dxo.uniqueID = 'ASPxSplitter1$pcMain';
    dxo.renderIFrameForPopupElements = true;
    dxo.RegisterServerEventAssigned(['TabClick']);
    dxo.tabCount=4;
    dxo.InlineInitialize();//-->
    </script>
      

  3.   

    前台页面使用html标准控件,样式让美工实现吧.尽量别用服务端控件和第三方控件.
      

  4.   

    在页面加载OnLoad前重写初始化OnInit及视图加载TrackViewState,这种方式有么有可能?