Adamancy---2005  
天行健,君子以自强不息。地势坤,君子以厚德载物。
日历
<2005年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
统计
  • 随笔 - 17
  • 文章 - 0
  • 评论 - 104
  • 引用 - 0

导航

与我联系

搜索

 

常用链接

留言簿(1)

随笔分类

随笔档案

相册

收藏夹

中文Blog

最新评论

阅读排行榜

评论排行榜

 

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

posted on 2005-06-15 14:28 向.net进军 阅读(339) 评论(0)  编辑 收藏 网摘 所属分类: asp.net




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接:
 

 
Copyright © 向.net进军 Powered by: 博客园 模板提供:沪江博客