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



相关阅读:
推荐30个新鲜出炉的精美 jQuery 效果
一起来写段JS drag拖动代码
第二章 PHP入门基础之php代码写法
基于ASP.NET的数据迁移办法
安全基础:简单解析Linux系统防火墙框架
搜索引擎核心技术(PHP编程思路) --[1]
SQL 提权 常用命令
巧用Recent模块加固Linux安全
xp_cmdshell开启与关闭
IE8 css overflow:hidden不起作用
JSP application(return String)用法详例
概述Oracle中的数据库名
XHTML教程一
初学者接触HTML了解一些HTML标记(3)
快速导航

Copyright © 2016 phpStudy |