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

原创 2004年09月13日 17:27:00
怎样把 DataGrid 存放在 ViewState 中的无用数据(有时候确实如此)卡掉,大家知道,一般而言DataGrid在ViewState中会存放表格中的所有数据,这样会导致ViewState非常大;好比就这个论坛而言,光是ViewState就占了65k之多,多浪费啊。
  如果只是简单的将DataGrid的EnableViewState设置为false,那么许多事件,如排序、换页等都不会触发,那么岂不是得不偿失?其实在DataGrid中,有一个用来呈现数据的子控件:System.web.ui.webcontrol.DataGridTable,很遗憾,我在MSDN中没找到它的相关说明,但是我在跟踪DataGrid时,发现它的第一个子控件就是上述的Class(当然这是我在看到这片E文后才知道的,嘿嘿)。大家可以在SaveViewState中将生成的object的Type全部看看,再加上DataGrid.ViewState中的所有值,都不会发现DataGrid在ViewState中所保存的数据,那么是什么导致ViewState这么大,是什么在ViewState中存入数据源的数据呢?
  答案就在DataGrid的这个子控件(这个暗黑人物的存在还真让人的感情受不了)。所以呢,如果不需要在ViewState中存放这些数据源的数据(比如说为了加快速度,或者自定义分页),我们只需要:DataGrid.Controls[0].EnableViewState = false,就万事OK了。 
(注意,要在DataGrid生成子控件后才能这样写,否则只能创建一个继承于DataGrid的空件)
------------------------------------------------------------
我的使用:
我在Page_PreRender增加了一句:DataGrid.Controls[0].EnableViewState = false后经初步测试确实达到了上述效果!感觉不错!

去掉DataGrid的ViewState中的无用数据

在Asp.Net中,我们使用最多的恐怕就是DataGrid列表控件了。这个控件的功能的却非常强大,也非常好用。它不但可以实现任意的格式化选择,而且还可以动态进行分页、排序、添加按钮、动态编辑等功能。可...
  • u014739782
  • u014739782
  • 2014年04月25日 09:10
  • 244

去掉DataGrid的ViewState中的无用数据

在Asp.Net中,我们使用最多的恐怕就是DataGrid列表控件了。这个控件的功能的却非常强大,也非常好用。它不但可以实现任意的格式化选择,而且还可以动态进行分页、排序、添加按钮、动态编辑等功能。可...
  • u014739784
  • u014739784
  • 2014年04月25日 09:33
  • 144

页面ViewState体积庞大影响性能解决方案

我们都知道asp.net 服务器控件状态都是通过ViewState对象存储的,实际上是存储在客户端页面上的隐藏域中,当数据量过大时频繁和服务器传输,严重影响性能。直接想到的办法就是把这些数据储存到别的...
  • taoerchun
  • taoerchun
  • 2015年05月07日 17:15
  • 1097

easyui datagrid 大数据加载效率慢,优化解决方法

在使用easyui datagrid途中发现加载数据的效率真的不是一般的差。经测试IE8加载300条数据就感觉明显的慢了,加载2000条数据就另人崩溃用时差不多60秒,就算在google浏览器测试结果...
  • jumtre
  • jumtre
  • 2015年05月19日 12:01
  • 9080

ViewState的使用与配置

 ViewState就是页面中的名字叫做__VIEWSTATE的隐藏控件,它使我们页面体积膨胀,不利于页面的seo优化;页面返送间都要携带更多的大量的数据,耗费更多的流量、延长响应时间。 ...
  • yygzs2012
  • yygzs2012
  • 2017年04月06日 16:03
  • 372

iOS开发中解决滑动页面时候卡顿掉帧问题

在开发中我们常常会遇到布局比较复杂的cell,在滑动的时候会导致界面不流畅,出现卡顿的现象,这是由于CPU计算和GPU渲染,之间未及时交换数据丢失帧导致的结果。imageView尽量设置为不透明 op...
  • qq_25475307
  • qq_25475307
  • 2016年06月07日 16:22
  • 3708

菜鸟教程之工具使用(十一)——Eclipse去掉未使用的引用

大家在写代码的时候经常会看到如下的情况:大家都知道这是因为引入了未使用的包,所以Eclipse给出了提示,告诉你这些是无用的引用,这些无用的引用即影响了美观,又增加了代码占用的空间,还给代码的编译增加...
  • liushuijinger
  • liushuijinger
  • 2015年02月28日 19:23
  • 11808

ETH挖矿【解决A卡DAG掉算力教程】

算力修复对比 修复前 修复后 一、准备工作 1、DAG修复版RX polaris核心第三方测试版驱动 : http://pan.baidu.com/s/1Ss6onu3 2、ATIKMDAG-PA...
  • aoao99999
  • aoao99999
  • 2017年11月21日 21:20
  • 3302

cocos2d 性能优化2

原文地址:http://codingnow.cn/cocos2d-x/1658.html 近段时间在使用cocos2d-x开发2D手游,技术方案使用的是cocos2d-x+lua,因为游戏使...
  • litter_star
  • litter_star
  • 2016年06月11日 15:02
  • 436

wpf datagrid简单显示数据

1.在XAML代码中写出固定列,绑定数据名称                                                         2.创建数据结构 3....
  • www89574622
  • www89574622
  • 2017年07月27日 14:19
  • 820
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎样把DataGrid存放在ViewState中的无用数据卡掉
举报原因:
原因补充:

(最多只允许输入30个字)