减少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。扩展他的功能。

DataGrid的ViewState相关推荐

  1. 怎样把DataGrid存放在ViewState中的无用数据卡掉

    作者:无间道的博客http://www.cnblogs.com/wangsaokui/articles/10031.html 怎样把 DataGrid 存放在 ViewState 中的无用数据(有时候 ...

  2. 引用:编写高性能Web应用程序的10个技巧(一)

    在网上看到这样一篇文章:编写高性能Web应用程序的10个技巧 感觉很不错就引用到我的blog里面,和大家一起学习,同时也谢谢作者本人 数据层性能 技巧 1 - 返回多个结果集 技巧 2 - 分页的数据 ...

  3. 袖珍拾遗(转贴来源于流水无声)

    关键字   SQL Server 与 Excel    /* 存储过程名称:导出数据到Excel 功能描述:导出数据到Excel EXEC ExportToExcel @server = '.',   ...

  4. asp.net EnableViewState禁用与注意事项

    http://www.cnblogs.com/EveryMan/archive/2011/05/27/2060176.html 每个web控件都有个ViewState值,如果一个页面有太多的web控件 ...

  5. DataGrid基于Access的快速分页法

    DataGrid基于Access的快速分页法 撰文/ 黎波 DataGrid是一个功能非常强大的ASP.NET Web服务器端控件,它除了能够方便地按各种方式格式化显示表格中的数据,还可以对表格中的数 ...

  6. Asp.Net下的DataGrid的多层表头

    先看下表: 业务员 地 区 北京 上海 深圳 张三 100 200 300 实际上Asp.Net下的DataGrid只不过是一个HtmlTable,只不过在HtmlTable的基础上添加了很多属性.方 ...

  7. ASP.NET ViewState 初探

    Susan Warren Microsoft Corporation 与刚接触 ASP.NET 页面的开发人员交谈时,他们通常向我提出的第一个问题就是:"那个 ViewState 到底是什么 ...

  8. 关于何种情况下使用DataGrid、DataList或Repeater的一些讨论

    作者:Scott Mitchell [概述] WEB开发自从有了基于脚本的WEB编程技术(如ASP)以来,经历了一个漫长的过程.通过使用微软的ASP.Net技术,传统的ASP中大量的.单调乏味的.重复 ...

  9. 让Asp.NET的DataGrid可排序、可选择、可分页

    '*************************************************************** 'Author: 李洪根 'MAIL: lihonggen0@gci- ...

最新文章

  1. 学python的基础-老司机学python篇:第一季(基础速过、机器学习入门)
  2. MySQL 5.1以下如何动态抓取查询日志
  3. 蛙蛙推荐:几种典型的生产环境调试场景
  4. Python: 复数的数学运算
  5. 查看windows下系统信息
  6. 深度学习笔记第一门课​第四周:深层神经网络
  7. java使用d3_[Java教程]一个初学者的指南,使用D3做数据绑定
  8. java fileinputstream 安全管理器校验失败_Spring Boot 如何做参数校验?
  9. Matlab实现人脸识别
  10. Mac端视频字幕压制:HandBrake/Premute/松果压制
  11. 高德地图-根据IP定位显示当前所在城市
  12. 阿里巴巴最新区块链专利申请文件解读
  13. 微信号,手机号,邮箱验证格式
  14. matlab单层感知器画线,使用MATLAB编写单层感知器
  15. 5G/NR: CQI 和MCS - 链路自适应,自适应编码
  16. Linux命令之ps命令
  17. 乖乖小网安-网络安全之ARP初探
  18. 牛顿下山法求解非线性方程(组)(C实现)
  19. unity游戏入门1
  20. php解析rss,PHP解析RSS的方法

热门文章

  1. node php go python_PHP 可能在未来十年内消失?
  2. 计算机显微视觉相关概念,机器视觉的概念及常见应用
  3. 如何学习ReactJS:初学者完整指南
  4. php mysql设计中验证码的实现_php如何实现验证码功能
  5. mysql文件_mysql 的各种文件详细说明
  6. mysql数据库文件上传大小控制_[mysql数据库文件大小限制]mysql导入数据库文件最大限制设置...
  7. mipi协议_Cadence发布业界首款面向多协议PHY的验证IP产品
  8. linux rdma服务,容器网络启用RDMA高速通讯-Freeflow
  9. python中连续两个小于号_Python语言描述最大连续子序列和
  10. echart data放入数组_线性表(数组、链表、队列、栈)详细总结