30代的挨踢人

急事,慢慢的说;大事,清楚的说;小事,幽默的说;没把握的事,谨慎的说;没发生的事,不要胡说;做不到的事,别乱说;伤害人的事,不能说;讨厌的事,对事不对人的说;开心的事,看场合说;伤心的事,不要见人就说;别人的事,小心的说;自己的事,听听自己的心怎么说;现在的事,做了再说;未来的事,未来再说;如果,对我有不满意的地方,请一定要对我说 .生命的价值不依赖我们的所作所为,也不仰仗我们结交的人物,而是取决于我们本身

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  173篇文章 :: 0篇收藏:: 25篇评论:: 0个Trackbacks

公告



文章

收藏

相册

c#

vb.net

データベース

管理人

日本语

投资理财

推荐的网址(BLOG)

推荐的网址(非技术)

推荐的网址(技术)

存档


正在读取评论……


发掘.net性能对于一个application至关重要,所以现在经常找一些可以提高性能的技巧,下面是有关DataBinder的一个小技巧。

对于一般的绑定,我们使用<%# DataBinder.Eval(Container.DataItem, "字段名") %>
用DataBinder.eval 绑定不必关心数据来源。不必关心数据的类型eval会把这个数据对象转换为一个字符串。在底层绑定做了很多工作,使用了反射性能。正因为使用方便了,但却影响了数据性能.

来看下<%# DataBinder.Eval(Container.DataItem, "字段名")%>。当于dataset绑定时DataItem其实是一个DataRowView(如果绑定的是一个数据读取器DataReader,它就是一个IdataRecord。)因此直接转换成DataRowView的话,将会给性能带来很大提升 <%#ctype(Container.DataItem,DataRowView).Row("字段名") %> 对数据的绑定建议使用<%#ctype(Container.DataItem,DataRowView).Row("字段名") %>。数据量大的时候可提高几百倍的速度。

使用时注意两方面:
1.需在页面添加<%@ Import namespace="System.Data"%>
2.注意字段名的大小写(要特别注意)。如果和查询的不一致,在某些情况下会导致比<%# DataBinder.Eval(Container.DataItem, "字段名") %>还要慢。

如果想进一步提高速度,可采用<%# ctype(Container.DataItem,DataRowView).Row(0) %>的方法,不过其可读性不高。

Trackback: http://tb.donews.net/TrackBack.aspx?PostId=619300


[点击此处收藏本文]  发表于2005年11月08日 5:40 PM




正在读取评论……

发表评论

大名:
网址:
验证码
评论