[概述]
WEB开发自从有了基于脚本的WEB编程技术(如ASP)以来,经历了一个漫长的过程。通过使用微软的ASP.Net技术,传统的ASP中大量的、单调乏味的、重复性的编程工作成为了历史。例如,象大多数ASP程序员所知的,在ASP中显示数据库内容所需要的过程:
建立数据库连接
用SQL查询装载ADO数据集
显示所需要的任何HTML代码
遍历数据集中的记录
输出记录字段值及相关的HTML
移向下一条记录
循环
显示所需要的HTML代码
又如,为了在表格中显示记录集的内容,我们需要输出一个
标签,然后开始循环。在循环中,每输出一条记录,需要先输出一个标签以及若干对标签和 |
标签。最后,以一个
标签结尾。
在传统的ASP中使用的这种方法有一个主要的缺点:HTML代码与ASP源代码不得不纠缠在一起。对于那些也许并不理解程序设计的页面设计者或图形艺术家来说,想要更改HTML内容无疑是一场灾难。另外,代码的产生量也是惊人的,因为我们不仅需要从数据库中取得数据,还需要使之可视化。
好在,ASP.Net提供了三个数据控件,使得原本在ASP中繁杂的工作变得简单。这三个控件属于数据Web控件,分别是DataGrid,DataList和Repeater。如果你对ASP.Net数据库编程有所了解的话,你至少应该有使用其中一种控件的经验。大多数情况下,我们从学习使用DataGrid开始,因为它的功能相对完整(数据显示、分页、编辑)并相对简单。然而,DataGrid并非总是正确的选择。
本文将分别论述每个数据控件不同于其它数据控件的特点,以及由此带来的优缺点。正因为每种数据控件都有其自身的缺陷,因此在程序设计中并不存在最完美的选择。你必须权衡三种控件的优缺点并决定哪一种更加适合你的程序。
为了帮助比较,在对每个控件进行论述时,我们会专注于三个特性:可用性(从页面访问者的角度)、开发时间和性能。我们首先描述一下这三种控件的共性,然后分别深入地讨论三种控件的特点,每种控件如何实现以及如何体现可用性、开发时间和性能。
[数据控件(Data Web Controls)的共同点]
在我们讨论三种控件各自特性之前,有必要先看一看它们之间的共同点。一般来说,从编程流程来看,最显著的共同点就是,这三种控件都是用来显示数据的。另一个共同点是需要一个数据绑定的代码来将数据与控件绑定。这个过程只需要两行代码: