Login控件用于实现用户登录验证,CreateUserWizard控件用于创建新用户。可能读者会沿袭ASP.NET 2.0之前的思路,认为实现以上两种应用需要添加多个文本框、按钮等元素,并设计实现数据库、数据访问逻辑等。实际上,使用Login和CreateUserWizard控件实现以上应用,非常简单,简单到不需要编写任何代码,不需要自建数据库,只需添加和设置控件即可。
4、web部件
Web部件是ASP.NET 2.0新增功能。如果曾经开发应用过SharePoint,那么对Web部件应该不会感到陌生。ASP.NET 2.0的Web部件功能包括多个服务器控件,例如,实现WebPart控件管理和控制的WebPartManager、实现编辑WebPart控件的EditorZone和EditorPart系列控件、实现目录管理的CatalogZone和CatalogPart系列控件、实现WebPart通信的ConnectionZone控件等。利用它们可以创建具有高度灵活性和个性化的Web站点。
5、其他服务器控件
除上文介绍的4类控件之外,ASP.NET 2.0新增了其他服务器控件。这些控件包括BulletedList、HiddenField、FileUpload、ImageMap、MultiView(View)和Wizard。
二、母版页
每个站点都应具有统一的风格和布局。不同技术时代,给出了不同的解决方案。例如,在ASP技术时期,使用#include命令,在ASP.NET 1.x时期,主要使用用户控件。ASP.NET 2.0技术时期,则可以使用构建页面布局框架的技术特性—母版页。
母版页是扩展名为.master的文件,其代码内容和结构与普通.aspx文件类似。注意代码中包括一个或多个ContentPlaceHolder控件。在创建母版页时,需要将页面公共部分存储于母版页中,例如,页面公用的页头、页尾等,而页面非公共部分则使用ContentPlaceHolder控件实现占位。内容页文件虽然扩展名为.aspx,但是代码内容和结构与普通.aspx文件代码相距甚远,其代码分为两个部分:代码头声明一个或多个Content控件。开发人员需要在内容页代码头绑定母版页,同时,将页面非公共部分内容设置在Content控件标签之间。在运行时,用户不能直接请求母版页,只能请求访问内容页。此时,母版页和内容页将合并生成结果页,结果页面包含页面公共部分和非公共部分的运行结果。
三、主题和皮肤
在未接触主题和皮肤功能之前,你可能已经习惯于使用级联样式表(CSS)设置页面和控件等元素外观和样式。虽然在ASP.NET 1.x开发中,CSS同样适用,但是如果碰到一些复杂控件,例如,Calendar、GridView,那么设置CSS将变得比较困难。如果能够完全根据控件自身外观和样式属性,而不仅限于CSS中规定元素,来设置服务器控件,那么整个实现过程将变得比较简单。ASP.NET 2.0中的主题和皮肤功能就能够提供这样的便利。
所谓“主题”是指页面和控件外观属性设置的集合。主题由一组文件构成,可能包括皮肤文件、CSS文件、图片和其他资源等。这些文件必须存储在App_Themes文件夹中。皮肤文件是主题的核心内容。这种文件的扩展名为.skin,其中包含各种服务器控件的各种属性设置。利用主题功能,不仅能够定义页面和控件的外观,还可以在所有Web应用程序、单个Web应用程序的所有页面或者单个Web页面中,快速一致地应用所定义外观。另外,还可以根据应用程序需要动态加载主题。
四、个性化用户配置
存储和访问用户配置数据一直是开发人员关注的热点。在ASP.NET 1.x时代,实现这一功能主要通过Session、Application等对象或者采用数据库存储的方法。这两种方法都有着本身不可克服的缺点。例如,使用前者容易发生数据丢失的情况,而使用后者比较繁琐,例如,需要自行设计实现数据库及访问数据的代码。为了解决以上问题,ASP.NET 2.0新增了个性化用户配置功能。
个性化用户配置功能主要用于存储单个用户配置数据,这些数据可以是简单数据类型,也可以是复杂数据类型,甚至自定义对象等。同时,单个用户既可以是匿名用户,也可以是注册用户。默认情况下,所有用户配置数据都存储在SQL Server数据库中,并且无需自行创建和维护该数据库,这些工作都由ASP.NET 2.0自动完成。个性化用户配置功能还支持从应用程序中任何位置访问的多种强类型API,以方便存储、显示和管理用户配置信息。使用个性化用户配置功能非常简单。首先,在Web.config文件中定义配置信息名称、数据类型等,然后,调用与用户配置功能有关的强类型API,例如,Profile实现对用户配置信息的存储、访问和管理等应用。
五、成员资格和角色管理