前言:
第一次使用ASP.NET 2.0就被它强大的功能和超高的效率所吸引,原本繁杂的过程被简化到无法置信的容易,而且据微软的所言12月中文版的VS2005正式版将给我们带来更强劲的风暴。对ASP.NET 2.0逐渐深入后,便产生了想把自己学习中发现的问题和体会与大家交流,遂有此文。声明:本文所有演示示例均基于Visual Web Developer 2005 Express Beta2,Visual Web Developer 2005 Express Edition Beta2 是一种简便的、易学易用的开发工具,其重点专注于互联网应用开发。
1.ASP.NET 2.0数据库开发的新特性:
与以前的版本相比,ASP.NET 2.0加入了更多的特性,使得开发人员工作效率、管理、扩展性和性能领域均有了大幅度的提高。
在开发效率上,ASP.NET 2.0使得一个典型的WEB应用程序的代码量基本上减少了70%,甚至在一些简单的程序中无须编写任何代码就可以实现你所要求的功能,既所谓的"0代码"。这是因为ASP.NET 2.0 将常用的 Web 任务封装到应用程序服务和控件中,这些服务和控件可方便地在网站之间重用。利用这些基本生成块,较之以前的版本,现在实现许多应用所需的自定义代码要少得多。
同时在ASP.NET 2.0 引入了许多新的服务器控件,能够为数据访问、登录安全、向导导航、菜单、树视图、门户等提供功能强大的声明性支持。这些控件中,许多都利用了 ASP.NET 的核心应用程序服务,用于数据访问、成员资格与角色,以及个性化设置等方案。
2.0 版中的新增功能如下:
· 数据源控件 -- ASP.NET 2.0 引入了声明性数据源控件,这些控件向页上的数据绑定 UI 控件公开来自后端存储(例如 SQL 数据库、中间层业务对象或 XML 文件)的数据。数据源控件还公开诸如排序、分页、缓存、更新、插入和删除数据等功能,UI 控件能够自动利用这些功能而无需代码。
· 新的数据绑定控件 -- 除 ASP.NET 1.x 版中的数据绑定控件外,ASP.NET 还包括诸如 GridView、DetailsView、FormView、TreeView 和 Menu 等新的数据绑定 UI 控件,可以自定义这些控件以各种格式显示数据。GridView、DetailsView 和 FormView 控件还能自动利用数据源功能,使得向数据驱动页添加排序、分页和更新操作非常容易。
· 数据控件参数 -- 数据源能够使用 ASP.NET 2.0 中新的数据控件参数对象从各种来源接受输入参数。使用这些参数对象可以轻松地向参数化数据操作提供服务器控件属性值、会话、应用程序、Cookie 和 querystring 字段以及用户配置文件属性。使用这些参数,只需很少的自定义代码或无需自定义代码就能支持筛选和主/详细信息方案。
· 改进的数据绑定语法 -- 对于在数据绑定模板中绑定控件的常见方案,ASP.NET 中的 DataBinder.Eval 数据绑定语法已得到简化。还可以在模板中将双向数据绑定与控件属性关联,以允许自动将值传递给数据源更新、插入或删除操作。对于分层的 XML 数据,ASP.NET 2.0 还包含一种基于 Xpath 的数据绑定语法。
· 使用 SQL Express 的本地文件数据库 -- 为简化开发,ASP.NET 2.0 现在支持在应用程序中连接到作为本地文件的 SQL Express 数据库的能力,从而消除仅为了执行开发工作而向服务器提供数据库的需要。当然,您仍然能够连接到基于服务器的 SQL 数据库。
下面是一些重要的数据绑定控件和数据源控件的详细的介绍:
·GridView:
这是ASP.NET 2.0中的一个新的数据绑定控件,它是ASP.NET 1.x中的DataGrid控件的后续继承,并且在其基础上做了许多改进。尽管在ASP.NET 1.x中DataGrid控件已经可以满足开发者通过代码来处理一些操作,像排序,分页,编辑及删除数据等。但是GridViwe控件绑定到数据源控件时,它就可以自动进行排序,分页,编辑及删除数据的一系列处理。在功能上GridViwe控件也超越了DataGrid控件,GridViwe控件可以支持多个关键字段,在UI界面上有了强大的用户定制功能,而且它还给开发者提供了一个新的取消和处理事件的模型。
·SqlDataSource:
SqlDataSource控件代表一个通过ADO.NET连接到SQL数据库提供者的数据源控件。就像其他的数据源控件一样,SqlDataSource控件可以被绑定到任何支持DataSourceID属性的数据绑定控件上。同时SqlDataSource拥有自我描述的能力(例如选择,插入,更新,删除,排序等),以至数据绑定控件可以在这些能力被允许的情况下自动的实现选择,插入,更新,删除,排序等过程。SqlDataSource控件可以让你在创建数据库连接和实现查询时取代以前所需的大量ADO.NET代码,这是因为这些数据的查询操作已经直接被指定为该数据源控件的一个属性。因为数据的查询依然存在于页面的代码中,有时候我们也称这是一种双重模型。
SqlDataSource控件通常主要是针对一些不太需要查询大量数据库小型的和个人站点,当我们进行一个数据流量较大的网站开发,我们就必须使用后面的ObjectDataSource控件,这是一个绑定到中间层对象的针对大型企业开发的数据源控件。
数据源控件
数据源控件没有呈现形式,而是表示特定的后端数据存储,例如数据库、业务对象、XML 文件或 XML Web services。数据源控件还支持针对数据的丰富功能(例如排序、分页、筛选、更新、删除和插入),数据绑定 UI 控件能够自动使用这些功能。ASP.NET 2.0 包括以下现成的服务器控件: