asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET2.0新特性概述


发布日期:2019年10月07日
 
ASP.NET2.0新特性概述

ASPNET技术从版本升级到变化不是很大然而从ASPNET x升级到却不是件轻而易举的事情ASPNET 技术增加了大量方便实用的新特性ASPNET 主要提供控件页面框架服务与APIs等个方面的技术特性

控件

在ASPNET x时代由于内置服务器控件数量有限功能覆盖面窄因此开发人员怨声载道为了消除这个技术软肋ASPNET 做出了突破性改进在ASPNET 新增数十个服务器控件根据控件功能特征可分为数据控件(包括数据源控件和数据绑定控件)登录系列控件Web部件站点导航控件和其他控件等这些服务器控件对于提高工作效率降低开发成本有着重要作用

页面框架

在页面框架方面ASPNET 同样做出了重大改进主要体现在以下项技术特性母版页主题和皮肤编译机制和本地化母版页特性在大型Web站点中应用广泛它能够在一定程度上代替框架页功能从而迅速建立具有统一布局和外观的页面并且有效降低维护人员的工作强度主题和皮肤是ASPNET 的一项新增功能使用此功能可以一次性设置一种类型的服务器控件外观样式该外观可方便地应用于单个页面整个Web应用程序甚至整个服务器在应用程序编译方面ASPNET 提供了几种替代方案从而扩大了编译的选择范围开发人员可以根据特定需要进行选择另外ASPNET 在本地化方面也做出了一些改进

服务与APIs

这个部分包括的新特性在ASPNET 中占有较大比例主要包括成员资格管理角色管理用户配置数据缓存配置与管理工具等利用这些功能可以快速实现用户和角色管理个性化用户配置数据缓存应用程序可视化配置等任务以成员资格和角色管理功能为例在ASPNET x时代实现这两项功能是比较繁琐和困难的而在ASPNET 中不仅提供默认数据库表而且只需调用几个简单的方法就能够轻松地实现成员和角色管理功能

新增服务器控件

在ASPNET x时代有很多开发人员对其中的内置服务器控件提出批评主要的观点是ASPNET x提供的控件数量太少难以满足日益增长的开发需求无法更快更好地开发应用程序为了弥补ASPNET x的不足ASPNET 新增了数十个服务器控件根据控件功能可以分为站点导航控件数据控件(包括数据源控件和数据绑定控件)登录系列控件Web部件和其他服务器控件等熟练使用这些服务器控件对于提供工作效率减低开发成本有着重要意义

站点导航控件

在ASPNET x时期微软发布了一组IE Web Control控件(非内置控件)其中包括一个实现树形结构的TreeView控件它就是典型的站点导航控件在ASPNET 不仅包含和扩展了原有的TreeView而且还新增了另外两个控件

站点导航控件主要用于实现站点页面导航功能站点导航控件包括SiteMapPathMenu和TreeView控件SiteMapPath控件能够根据站点导航信息准确定位当前页面所处整个Web站点的位置同时使用层次化表示方法将位置信息显示为有序的静态文本或者超链接另外还可以通过调整相关属性自定义位置信息的外观以及实现数据绑定等功能Menu控件可构建与Windows应用程序类似的菜单该控件不仅可与多种数据源控件集成而且还可以支持自定义外观事件处理等功能TreeView控件主要用于显示树形结构该树与Windows资源管理器中的树类似同时该控件还支持数据绑定自定义外观等功能

数据控件

ASPNET 的数据控件可细分为两类一类是数据源控件另一类是数据绑定控件数据源控件包括SqlDataSourceAccessDataSourceXmlDataSourceSiteMapDataSource和ObjectDataSource这些控件主要实现连接不同数据源数据检索和修改功能例如查询排序分页筛选更新删除和插入等数据绑定控件主要包括GridViewDetailsView和FormView等这些控件可与数据源控件配合将获取的数据以不同形式显示在页面上由于数据源控件和数据绑定控件支持良好的可视化设计时功能因此当利用Visual Studio 实现数据访问时甚至不需要编写任何代码就能够完成任务

登录系列控件

很多Web站点都提供了用户登录验证以及相关功能常见功能包括用户登录创建新用户等总体而言实现这些功能的基本方法比较类似然而由于开发人员的水平差异可能造成一些不必要的漏洞和错误为了解决这个问题ASPNET 将与登录验证相关的实现集成为登录系列控件这些控件包括LoginLoginNameLoginViewLoginStatusPasswordRecoveryChangePassword和CreateUserWizard利用这些控件可以轻松实现登录验证创建新用户显示登录状态显示登录用户名更新和重置密码等出于灵活性考虑登录系列控件不仅提供了大量成员对象而且还支持自定义模板功能(部分控件支持)另外登录系列控件还加强了安全方面的控制例如默认情况下登录系列控件是以纯文本形式工作于HTTP上如果应用程序对安全性十分关注那么可以使用带SSL加密的HTTPS

Login控件用于实现用户登录验证CreateUserWizard控件用于创建新用户可能读者会沿袭ASPNET 之前的思路认为实现以上两种应用需要添加多个文本框按钮等元素并设计实现数据库数据访问逻辑等实际上使用Login和CreateUserWizard控件实现以上应用非常简单简单到不需要编写任何代码不需要自建数据库只需添加和设置控件即可

web部件

Web部件是ASPNET 新增功能如果曾经开发应用过SharePoint那么对Web部件应该不会感到陌生ASPNET 的Web部件功能包括多个服务器控件例如实现WebPart控件管理和控制的WebPartManager实现编辑WebPart控件的EditorZone和EditorPart系列控件实现目录管理的CatalogZone和CatalogPart系列控件实现WebPart通信的ConnectionZone控件等利用它们可以创建具有高度灵活性和个性化的Web站点

其他服务器控件

除上文介绍的类控件之外ASPNET 新增了其他服务器控件这些控件包括BulletedListHiddenFieldFileUploadImageMapMultiView(View)和Wizard

母版页

每个站点都应具有统一的风格和布局不同技术时代给出了不同的解决方案例如在ASP技术时期使用#include命令在ASPNET x时期主要使用用户控件ASPNET 技术时期则可以使用构建页面布局框架的技术特性—母版页

母版页是扩展名为master的文件其代码内容和结构与普通aspx文件类似注意代码中包括一个或多个ContentPlaceHolder控件在创建母版页时需要将页面公共部分存储于母版页中例如页面公用的页头页尾等而页面非公共部分则使用ContentPlaceHolder控件实现占位内容页文件虽然扩展名为aspx但是代码内容和结构与普通aspx文件代码相距甚远其代码分为两个部分代码头声明一个或多个Content控件开发人员需要在内容页代码头绑定母版页同时将页面非公共部分内容设置在Content控件标签之间在运行时用户不能直接请求母版页只能请求访问内容页此时母版页和内容页将合并生成结果页结果页面包含页面公共部分和非公共部分的运行结果

主题和皮肤

在未接触主题和皮肤功能之前你可能已经习惯于使用级联样式表(CSS)设置页面和控件等元素外观和样式虽然在ASPNET x开发中CSS同样适用但是如果碰到一些复杂控件例如CalendarGridView那么设置CSS将变得比较困难如果能够完全根据控件自身外观和样式属性而不仅限于CSS中规定元素来设置服务器控件那么整个实现过程将变得比较简单ASPNET 中的主题和皮肤功能就能够提供这样的便利

所谓“主题”是指页面和控件外观属性设置的集合主题由一组文件构成可能包括皮肤文件CSS文件图片和其他资源等这些文件必须存储在App_Themes文件夹中皮肤文件是主题的核心内容这种文件的扩展名为skin其中包含各种服务器控件的各种属性设置利用主题功能不仅能够定义页面和控件的外观还可以在所有Web应用程序单个Web应用程序的所有页面或者单个Web页面中快速一致地应用所定义外观另外还可以根据应用程序需要动态加载主题

个性化用户配置

存储和访问用户配置数据一直是开发人员关注的热点在ASPNET x时代实现这一功能主要通过SessionApplication等对象或者采用数据库存储的方法这两种方法都有着本身不可克服的缺点例如使用前者容易发生数据丢失的情况而使用后者比较繁琐例如需要自行设计实现数据库及访问数据的代码为了解决以上问题ASPNET 新增了个性化用户配置功能

个性化用户配置功能主要用于存储单个用户配置数据这些数据可以是简单数据类型也可以是复杂数据类型甚至自定义对象等同时单个用户既可以是匿名用户也可以是注册用户默认情况下所有用户配置数据都存储在SQL Server数据库中并且无需自行创建和维护该数据库这些工作都由ASPNET 自动完成个性化用户配置功能还支持从应用程序中任何位置访问的多种强类型API以方便存储显示和管理用户配置信息使用个性化用户配置功能非常简单首先在Webconfig文件中定义配置信息名称数据类型等然后调用与用户配置功能有关的强类型API例如Profile实现对用户配置信息的存储访问和管理等应用

成员资格和角色管理

多数站点的后台管理中几乎都包括用户成员和角色管理功能例如新建修改删除用户和角色为用户设置角色管理角色中的用户等在使用ASPNET x版本时实现这些功能的主要方法是首先设计创建成员库表角色库表等然后编写代码实现具体功能实现所有功能可能需要花费不少的时间和精力并且过程繁琐容易出现错误然而使用ASPNET 新增的成员资格和角色管理功能则可以很好地解决这个问题

成员资格和角色管理功能的核心是利用自动生成的数据库表多个实现管理功能的API成员资格和角色管理提供程序实现模块化和自动化的成员资格和角色管理模式具体而言包括创建和管理用户和角色信息实现对多种数据源中用户和角色信息的管理验证访问应用程序的用户凭证支持使用Cookie缓存角色信息实现角色管理与成员资格管理等功能的集成

配置和管理工具

为了快速方便地实现应用程序配置和管理ASPNET 提供了两个内置的可视化工具一个是ASPNET MMC管理单元另一个是Web网站管理工具

如果计算机中安装了Internet信息服务(IIS)和NET Framework 那么打开IIS即可使用ASPNET MMC管理单元利用该工具可对指定应用程序的连接字符串应用程序配置自定义错误授权身份验证公共编译页和运行时全球化和标识应用程序状态位置等方面进行全面设置所有设置结果都将显示在应用程序Webconfig文件中从这一角度而言ASPNET MMC管理单元是一个用于编辑Webconfig文件的图形化工具

如果使用Visual Studio 创建ASPNET 应用程序那么可以调用Web站点管理工具与ASPNET MMC管理工具不同的是Web站点管理工具是一个Web应用程序而不是一个Windows应用程序Web站点管理工具提供了对指定Web应用程序的安全应用程序配置提供程序等多方面的设置例如创建管理用户和角色信息设置SMTP参数设置各种提供程序等

上一篇:ASP.NET中获取URL重写前的原始地址详解

下一篇:ASP.NET中利用DataList实现图片无缝滚动