从传统ASP到ASP.NET的转变:了解控件

开发 后端
本文介绍ASP.NET对于传统ASP的不同:传统ASP有什么缺陷,以及ASP.NET是基于怎样的考虑解决这些问题的。传统ASP把 HTML 内容和 ASP Web 页面的源代码紧密集成在一起,所以更改起来极其困难。

DataGrid、DataList和Repeater是ASP.NET中最常用的三个控件。下面介绍从传统ASP到ASP.NET的转变:传统ASP有什么缺陷,以及ASP.NET是基于怎样的考虑解决这些问题的。

传统ASP的问题

自从出现了像 Microsoft Active Server Pages (ASP) 这样的简单且基于脚本的 Web 编程技术以来,Web 开发又有了很大的发展。 传统 ASP 中常见的大量枯燥、重复的编码工作,在 Microsoft ASP.NET 中不复存在了。 例如,正如所有传统 ASP 开发人员一度都知道的那样,在传统 ASP Web 页面中显示数据需要下面的伪代码:

  1. Create connection to the database  
  2. Populate an ADO Recordset with a SQL query  
  3.  
  4. Display any header HTML needed  
  5. For Each Record in the Recordset  
  6.    Print out the Recordset field(s) and associated HTML  
  7.    Move to the next record  
  8. Next 
  9. Display any footer HTML needed  

例如,要在 HTML

< table>

中显示记录集的内容,开发人员则不得不为

< table>

标记 (tag) 生成 HTML 标记 (markup),然后循环遍历记录集中的每一条记录,每次循环生成一个

< tr>

标记,以及许多

< td>

标记和要显示的记录集字段的值。 最后,在循环之后,开发人员需要生成结束

< table>

标记。

传统 ASP 所要求的这种方法有一个很大的缺点: 它把 HTML 内容和 ASP Web 页面的源代码紧密集成在一起。 因为没有分离代码和 HTML 内容,所以更改 HTML 的内容及其困难,尤其是对不懂编程技术的图形艺术家或 Web 设计者来说更是如此。 而且,因为检索数据库结果和生成它的内容都需要代码,所以代码和 HTML 内容的这种集成相对来说需要大量的代码。

传统ASP到ASP.NET:控件的引入

幸好,ASP.NET 提供了三个控件,使得在 ASP.NET Web 页面中显示数据绝对比传统 ASP 所需的迭代方式简单得多。 这三个控件是 DataGrid、DataList 和 Repeater,以后我将称之为数据 Web 控件。 也许,如果您已经开发过 ASP.NET Web 页面,那么至少会对这三个控件中的一个有一些经验。 通常,开发人员从学习 DataGrid 开始,这是因为 DataGrid 使用简单以及它具有允许数据排序、分页和编辑的功能。 但是,在 ASP.NET Web 页面中显示数据时,DataGrid 并不总是控件的最佳选择。

在下文中,我们将研究这些数据 Web 控件中每个控件的独特特性。 这些特性赋予每个数据 Web 控件许多优点和缺点。 因为每一个数据 Web 控件都有一些缺点,所以没有可用于任何作业的“完美”控件。 决定使用哪个控件时,必须权衡这三个数据 Web 控件每一个的优点和缺点,然后再决定哪个控件是最合适的。

为了协助进行比较,研究每一个数据 Web 控件时,我们将着重于这三个衡量标准: 可用性(从 Web 访问者的角度)、开发时间和性能。 我们首先快速浏览一下这三个数据 Web 控件之间的相似性。 接下来我们将深入研究 DataGrid,然后研究 DataList,最后查看 Repeater。 对于每一个控件,我们将研究这些控件的功能,并讨论它的功能集是如何影响这些衡量标准的。

以上就对传统ASP到ASP.NET的转变进行了简单的介绍。

【编辑推荐】

  1. ASP.NET调试API之Log4net使用指南
  2. 使用ASP.NET模板生成HTML静态页面的五种方案
  3. ASP.NET Login控件使用方法及须知
  4. 什么是ASP.NET MVC,以及其优点概览
  5. ASP.NET MVC与WebForm区别谈
责任编辑:yangsai 来源: MSDN
相关推荐

2009-07-27 13:52:36

Panel控件ASP.NET

2009-07-27 17:25:53

ASP.NET验证控件

2009-07-27 16:19:59

ASP.NET报表控件

2009-08-03 15:08:00

SqlDataSour

2009-08-17 09:24:25

ASP.NET控件

2009-07-24 15:35:00

ASP.NET Gri

2009-08-05 15:57:03

ASP.NET控件ID

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-08-04 10:43:59

ASP.NET控件开发

2009-08-19 13:44:00

ASP.NET Lis

2009-08-04 11:29:14

HTML代码ASP.NET控件

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-20 13:32:24

ScriptManagASP.NET

2009-08-10 14:08:15

ASP.NET服务器控ASP.NET组件设计

2009-07-28 14:47:18

ASP.NET MVC

2009-07-21 17:18:26

UpdateProgrASP.NET AJA

2009-07-24 16:15:00

扩展ASP.NET G

2009-08-04 13:38:36

ASP.NET用户控件

2009-08-07 14:40:36

RegularExprASP.NET验证控件

2009-08-27 16:59:20

ASP.NET用户控件
点赞
收藏

51CTO技术栈公众号