• DataGrid的ViewState


         减少ViewState的办法可以大大加快客户端的下载显示速度,但是频繁的数据库访问将加大服务器的压力;使用ViewState可以减轻服务器的压力,但是又加大了客户端的下载时间,它们是互相矛盾的。
         DataGrid保存在ViewState中的数据分为两个部分,一部分是保存索引用的,就是DataKeys和DataItems这样的属性使用的数据,我们把它称之为索引数据。还有一部分是DataGrid中数据源的内容,我们称之为列表数据。
         如果把实际上无用的列表数据从ViewState中去除,这样可以大大减小页面ViewState的数据大小,使用DataGrid时ViewState数据量太大的根本原因就是列表数据存放在ViewState中。
    在数据绑定的时候,设置DataGrid中DataGridTable控件的EnableViewState属性为False就可以了。 


    首先在页面初始化中的InitializeComponent()方法内加入事件的委托: 

    private void InitializeComponent() 



       this.myDataGrid.ItemDataBound += 

       new DataGridItemEventHandler(this.myDataGrid_ItemDataBound); 



    然后在myDataGrid_ItemDataBound方法内加入控制代码: 

    private void myDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e) 



         myDataGrid.Controls[0].EnableViewState = false; 


        其实自认为最好的方法应该是 用自定义分页,加之存储过程。每次让DataGrid绑定少量的数据,维持其ViewState。扩展他的功能。
  • 相关阅读:
    document.ready和window.onload的区别
    js取float型小数点后x位数的方法
    深入理解CSS过渡transition
    HTTP网络协议
    记一次完整的pc前端整站开发
    理解 JavaScript 中的 Function.prototype.bind
    图片懒加载方法
    web开发中兼容性问题(IE8以上含)持续更新~~
    HTTP协议GET和POST请求的区别
    移动端适配之雪碧图(sprite)背景图片定位
  • 原文地址:https://www.cnblogs.com/top5/p/1689492.html
Copyright © 2020-2023  润新知