摘要:了解 ASP.NET 用于显示数据的三个控件: DataGrid、DataList 和 Repeater。 这些控件中的每一个都有独特的特性以及相关的优点和缺点。 创建显示数据的 ASP.NET 应用程序时,为这项工作选择正确的控件非常重要。 正如将在本文中所看到的一样,选择使用 DataGrid、DataList 还是 Repeater,要权衡下面三个因素: 可用性、开发时间和性能。 (12 页打印页) 简介 自从出现了像 Microsoft Active Server Pages (ASP) 这样的简单且基于脚本的 Web 编程技术以来,Web 开发又有了很大的发展。 传统 ASP 中常见的大量枯燥、重复的编码工作,在 Microsoft ASP.NET 中不复存在了。 例如,正如所有传统 ASP 开发人员一度都知道的那样,在传统 ASP Web 页面中显示数据需要下面的伪代码:
Create connection to the database Populate an ADO Recordset with a SQL query
Display any header HTML needed For Each Record in the Recordset Print out the Recordset field(s) and associated HTML Move to the next record Next Display any footer HTML needed
例如,要在 HTML <table> 中显示记录集的内容,开发人员则不得不为 <table> 标记 (tag) 生成 HTML 标记 (markup),然后循环遍历记录集中的每一条记录,每次循环生成一个 <tr> 标记,以及许多 <td> 标记和要显示的记录集字段的值。 最后,在循环之后,开发人员需要生成结束 <table> 标记。
传统 ASP 所要求的这种方法有一个很大的缺点: 它把 HTML 内容和 ASP Web 页面的源代码紧密集成在一起。 因为没有分离代码和 HTML 内容,所以更改 HTML 的内容及其困难,尤其是对不懂编程技术的图形艺术家或 Web 设计者来说更是如此。 而且,因为检索数据库结果和生成它的内容都需要代码,所以代码和 HTML 内容的这种集成相对来说需要大量的代码。
幸好,ASP.NET 提供了三个控件,使得在 ASP.NET Web 页面中显示数据绝对比传统 ASP 所需的迭代方式简单得多。 这三个控件是 DataGrid、DataList 和 Repeater,以后我将称之为数据 Web 控件。 也许,如果您已经开发过 ASP.NET Web 页面,那么至少会对这三个控件中的一个有一些经验。 通常,开发人员从学习 DataGrid 开始,这是因为 DataGrid 使用简单以及它具有允许数据排序、分页和编辑的功能。 但是,在 ASP.NET Web 页面中显示数据时,DataGrid 并不总是控件的最佳选择。