首页 > 网站知识
在ASP.Net中,数据在很大程度上是作为一种抽象的概念来处理的。和传统的动态网站开发技术不同,ASP.Net的数据可以完全存放在组件中。开发人员很少接触到具体的数据,而是使用数据源、数据集、数据显示组件等数据处理组件,通过数据绑定,可以将这些组件以数据为中心组织到一起。
数据绑定的概念源自基于组件技术的应用程序开发工具,如Delphi和C++Builder在以往的动态网站开发工具中,数据源和数据显示没有内在的联系,数据由数据源向数据显示代码传递的过程是手动的,也就是说,开发人员必须写一段代码,判断数据源的数据是否发生变化,然后再用另一段代码将数据源的数据发送到数据显示部分。
数据绑定的概念在于,当某个数据源和一个数据显示组件绑定在一起以后,每当数据源发生变化的时候,数据显示组件将自动地跟随数据源发生变化。
当然,数据绑定并不仅仅为数据显示组件服务,任何一种符合数据绑定规范的组件都可以拥有一个数根源。因为ASP.Net数据绑定的主要作用是为了提供数据显示上的方便和高效,所以这里数据绑定的概念主要限于数据显示方面。
在NGWS系统中,数据绑定的概念在几乎所有的数据源和数据显示组件今出现。ASP.Net中,数据源可以是:
(1)变量,或者称为属性。
(2)表达式。
(3)其他服务器端组件,如可视组件中的下拉列表,非可视组件中的数组列表。
下面先来看一看ASP.Net服务器端数据绑定的基本概念。在实际的动态网站开发过程今,往往需要及时地显示一些服务器端数据的值。例如,在服务器端有一个字符串变量存储的是当前时间的描述,如果需要将这个字符串显示在用户的浏览器上,传统的方案是使用一条输出语句,在需要显示的位置输出这个字符串。如果使用数据绑定,那么做法就变为在需要显示的位置绑定输出这个变量。以ASP.Net为例,两种不同的方案的语句分别为。
看上去两者的差别不大,都是输出一个变量的信息,实际上的内涵却有很多差别,主要表现在以下几个方面:
(1)输出语句的方案在页面解释期(对于解释型)或编译期(对于编泽型)就将数据从变量中得到,并且在以后的执行中不会动态改变数据。而数据绑定方案中,只有当包含数据绑定的数据显示组件执行DataBind()的时候才从变量中得到数据。也就是说,数据语句是静态执行的而数据绑定是动态执行的。
(2)数据绑定不仅仅可以直接输出一般的输出语句可以输出的数据类型,还包括任何一种符合数据绑定要求的数据源。并且,对于不同的数据显示组件,对数据源的数据的处理可以不一致,也可以根据情况的改变而动态地发生改变。也就是说,数据绑定中,数据的显示是由书卷和数据显示组件共同决定的。数据源决定数据的内容,数据显示组件决定数据的显示方式。
(3)数据绑定的作用机制是由数据显示组件调用数据源的方法得到数据,而输出语句方案中,由输出语句直接从数据源剥离出数据。