ASP.NET后期绑定的时间

原创 2004年09月10日 16:19:00

后期绑定在ASP.NET的数据处理中经常使用,也有不少文章讨论各种绑定方法的优劣。 讨论的最多的话题是速度问题,常见的观点是DataBinder.Eval(Container.DataItem, "id")的处理比较慢,相对来说,((DataRowView)Container.DataItem)["id"]就要好很多。这一点ASP.NET的qucik start里也提到。

但是速度不是唯一的问题,绑定的时间次序也很重要,看下面的例子:

< asp:Repeater id=CategoryList Runat="server" >
  < ITEMTEMPLATE >
   < P class=Category >
    < %# ((DataRowView)Container.DataItem)["title"] % >
    < App:BoardList id=Board Runat="server" Category='< %# DataBinder.Eval(Container.DataItem, "id") % >' />
   < /P >
  < /ITEMTEMPLATE >
< /asp:Repeater >

这里Repeater里调用了另外一个User Control,由于((DataRowView)Container.DataItem)方法的绑定时间比较早,在把参数传递给另一个User Control的时候,这种方法就行不通了,你会得到一个引用的对象不存在的错误。而必需用第二种方法绑定,虽然比较慢(绑定的时间较晚,对象已经生成了),程序就可以正常运行了。

大家有兴趣可以尝试看看。其实上面的这个例子是一个最简单的嵌套Repeater类Control的方法,效率不是最高,但非常简单实用。

.Net中的早期绑定和后期绑定(二)

上篇介绍了.Net中绑定的故事背景,在文章的末尾引出了“早期绑定和后期绑定”,那么本文就针对.Net中的绑定做一个简单的介绍。    早期绑定    早期绑定:如果在编译时 .Net 能够知道属性或方...
  • u013035924
  • u013035924
  • 2015年05月17日 18:55
  • 1216

Java的前期绑定和后期绑定[新]

前言:本文需要《Java类的实际定义和类资源名称冲突解决》文章的内容作为前导知识。 涉及到继承,可能使得待访问的类资源有多个定义,那么该何时和如何确定具体访问哪个定义呢?这个过程就是绑定过程。绑...
  • DSLZTX
  • DSLZTX
  • 2015年12月31日 19:47
  • 1315

.Net中的早期绑定和后期绑定(一)

“绑定”一词在生活是非常常见,像手机绑定、邮箱绑定等等。在.Net中也存在着“绑定”...
  • u013035924
  • u013035924
  • 2015年05月17日 18:59
  • 1466

php后期静态绑定例子讲解

自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。 self:: 的限制 使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决...
  • MBLHQ
  • MBLHQ
  • 2017年02月21日 17:47
  • 171

Java之前期绑定,后期绑定,简单理解和实例

开心一笑【今天我对老公撒娇:老公你夸夸我呗!老公面无表情的看看我,一言不发。我有点生气,怎么遭,以前叫你夸我,你还会随便敷衍几句,现在连敷衍都不想了吗?老公:随便你怎么说,我只是觉得不配跟仙女说话!】...
  • huangwenyi1010
  • huangwenyi1010
  • 2016年11月26日 13:29
  • 781

php类与对象之后期静态绑定

做项目是后期静态绑定非常有用。比如service层单例模式,使用后期静态绑定就非常好实现。自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。准确说...
  • q601115211
  • q601115211
  • 2017年02月06日 19:51
  • 1636

static 后期静态绑定

静态绑定: static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的. 核心:self和parent取决于它的解析上下文,而static取决于它的调用上下文 现在来看一个例子...
  • ma199385
  • ma199385
  • 2016年02月05日 22:47
  • 354

ASP.NET程序维护--如何远程更新客户程序

远程更新客户程序 一、在项目后期的维护过程中,会经常根据客户需求,修改程序的具体功能等等。但有时客户非常的远,远程调试变成了一种快速更新程序的捷径。 二、今天我们来实际远程下,并加以总结。   ...
  • XMFX12138
  • XMFX12138
  • 2016年07月08日 10:29
  • 281

java中的绑定、前期绑定、后期绑定三者的概念

绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。   前期绑定:在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。   后期绑定:在运行时根据具体对象的类型进行绑定...
  • q35445762
  • q35445762
  • 2015年07月13日 16:03
  • 660

java之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)

编译时类型和运行时类型:     Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和...
  • li_zhenxing
  • li_zhenxing
  • 2014年05月06日 21:16
  • 1169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET后期绑定的时间
举报原因:
原因补充:

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