怎样把DataGrid存放在ViewState中的无用数据卡掉
来源:互联网 发布:淘宝账号解冻客服电话 编辑:程序博客网 时间:2024/05/02 05:30
作者:无间道的博客http://www.cnblogs.com/wangsaokui/articles/10031.html
怎样把 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的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中的无用数据卡掉
- 怎样把DataGrid存放在ViewState中的无用数据卡掉
- 去掉DataGrid的ViewState中的无用数据
- 去掉DataGrid的ViewState中的无用数据
- 去掉DataGrid的ViewState中的无用数据
- 去掉DataGrid的ViewState中的无用数据
- 去掉DataGrid的ViewState中的无用数据
- 去掉DataGrid的ViewState中的无用数据 MyNoName [原作]
- 去掉ViewState中DataGrid的无用数据
- 去除DataGrid中无用的ViewState数据的方法[段]
- 去除DataGrid中无用的ViewState数据的方法
- 去除Asp:DataGrid中无用ViewState的方法(1)
- 去除Asp:DataGrid中无用ViewState的方法(2)
- 去除Asp:DataGrid中无用ViewState的方法(2)
- 去除Asp:DataGrid中无用ViewState的方法(2)
- 去除Asp:DataGrid中无用ViewState的方法(1)
- 把页面变量封装在ViewState中的属性写法
- 数据在存储器中的存放方式
- 面向对象设计的新视角
- 弹出窗口大全
- 用Enter键取代tab键
- Realplayer控制参数
- 测试
- 怎样把DataGrid存放在ViewState中的无用数据卡掉
- [Button]几个漂亮的Button的CSS
- 购物车
- 在页面中导入文件
- DataList分页
- 数据库取值形成xml实现tree
- Calendar如何只显示“一、二、三...日”,不显示“星期”
- 结构成员访问的三种方法
- java生成JPEG 图像文件