本书是讲解微软公司ASP.NET2.0Framework最全面的图书,包含了VB.NET和C#两种语言排述的上百段程序代码,覆盖了ASP.NET2.0Framework的方方面面,本书作者Stephen Walther是ASP界的名人,是微软公司的软件传奇人物(微软技术社区的最高荣誉)。本书主要介绍了高级的ASP.NET2.0知识,其主要内容包括安全、创建ASP.NET应用、使用Wed部件应用、创建自定义控件等,最后还给出了一个示例应用程序。\r\n 本书适合高级层次的ASP开发人员阅读。
第一部分 安全\r\n 第1章 使用Login控件\r\n 1.1 Login控件概览\r\n 1.2 使用Login控件\r\n 1.2.1 用户自动重定向来源页面\r\n 1.2.2 自动隐藏已认证用户的Login控件\r\n 1.2.3 使用模板定制Login控件\r\n 1.2.4 使用Login控件执行自定义认证\r\n 1.3 使用CreateUserWizard控件\r\n 1.3.1 配置自定义用户表单字段\r\n 1.3.2 发送已创建用户电子邮件通知\r\n 1.3.3 用户自动重定向来源页面\r\n 1.3.4 自动生成密码\r\n 1.3.5 在CreateUserWlzard控件中使用模板\r\n 1.3.6 在CreateUserWizard控件中添加注册步骤\r\n 1.4 使用LoginStatus控件\r\n 1.5 使用LoginName控件\r\n 1.6 使用ChangeImassword控件\r\n 1.6.1 发送电子邮件通知密码更改\r\n 1.6.2 在ChangePassword控件中使用模板\r\n 1.7 使用Passwor dRecovery控件\r\n 1.7.1 找回用户的原始密码\r\n 1.7.2 要求安全提示问题和答案\r\n 1.7.3 在PaSSWOrdRecovery控件中使用模板\r\n 1.8 使用LoginView摔件\r\n 1.9 小结\r\n 第2章 使用ASPNET MembershiD\r\n 2.1 配置安全鉴别\r\n 2.1.1 配置Forms鉴别\r\n 2.1.2 使用无COOKie的Forms鉴别\r\n 2.1.3 在Forms鉴别中使用超时限制\r\n 2.1.4 跨应用程序使用Forms鉴别\r\n 2.1.5 跨域使用Forms鉴别\r\n 2.1.6 使用F0rmsAuthenticatlon类\r\n 2.1.7 使用User类\r\n 2.2 配置安全授权\r\n 2.2.1 角色授权\r\n 2.2.2 根据位置授权访问文件\r\n 2.2.3 对图片以及其他文件类型进行访问授权\r\n 2.2.4 对传统ASP页面进行访问授权\r\n 2.3 使用ASP.NET MembershiD\r\n 2.3.1 使用MembershiD API\r\n 2.3.2 加密和散列用户密码\r\n 2.3.3 修改用户密码条件\r\n 2.3.4 锁定坏用户\r\n 2.3.5 配置置SOLHembenshl DProvl der提供器\r\n 2.3.6 配置ActiveDl nectoryMember-sh]DPrOvider\r\n 2.3.7 创建自定义MembershiD提供器\r\n 2.4 使用角色管理器\r\n 2.4.1 柄置Sal R01 ePrOvl der\r\n 2.4.2 配置WindOWSTOkenRole—PrOvider\r\n……\r\n第二部分 创建ASP.NET应用程序\r\n 第3章 维护应用程序状态\r\n 第4章 缓存应用程序页面和数据\r\n 第5章 多语言本地化应用程序\r\n 第6章 使用HTTP运行时间\r\n 第7章 配置应用程序 \r\n第三部分 使用Wed部件构建应用程序\r\n 第8章 Wed部件介绍\r\n 第9章 构建Wed部件\r\n 第10章 个性化设置Wed部件\r\n 第11章 扩展Wed部件框架 \r\n第四部分 构建自定义控件\r\n 第12章 构建自定义控件\r\n 第13章 自定义控件集成Javascript\r\n 第14章 创建模板化数据绑定控件\r\n第五部分 示例程序\r\n 第15章 构建电子商务程序
谭振林,微软ASP.NETMVP。资深程序员,高级技术讲师,对ASP.NET及其相关技术有深入研究,博客园专家团队成员,CSDN2007英雄会受邀专家,曾主持设计这实现过多个大型的Wed2.0网站应用,同是也是国内较早的Wed标准实践者。
ASP.NET是微软公司构建高交互性、高扩缩性网站的旗舰技术。许多在因特网上提供服务的大型网站都构建于ASP.NET Framework之上,如戴尔网站(www.Dell.com)、Martha Stewart网站的一部分(www.MarthaStewart.com)、易趣网站的一部分(www.eBay.com)、XBOX网站(www.xbox.com)、MySpace网站(www.MySpace.com),以及微软公司自己的网站(www.microsoft.com)。如果你需要构建一个能同时处理数千个并发请求的高交互性网站,那么ASP.NET技术是一个不错的选择。
ASP.NET 2.0 Framework是微软ASP.NET Framework的最新版本。ASP.NET 2.0 Framework引入了50多个全新的控件。当然,简单地统计有多少个新的控件并不足以给你ASP.NET 2.0所包含的全部新特性的准确印象,因为许多更重要的变更是框架层面的。
下面列出的仅是ASP.NET 2.0非常重要的新特性中的几条:
□新的声明式数据访问模型——利用新的数据访问控件,可以不用写一行代码就能显示和编辑一组数据库数据。
□母版页和主题——使用母版页和主题,可以轻松地为网站中的所有页面创建统一的样式和布局。
□Membership API——使用Membership API,可以不写任何代码就构建将用户信息保存在微软SQL Server数据库表或活动目录(Active Directory)的整套用户注册系统。
□Web部件——利用Web部件,可以构建一个能在运行时被用户或管理员定制的门户(portal)应用。
□SQL缓存失效策略——使用SQL缓存失效策略,能够在内存中缓存数据库记录,并且当后台数据库的数据发生改变时,自动地重新从数据库向内存缓存中加载数据。
□Ajax——使用Ajax技术,可以在不需要将整个页面回传到Web服务器端的情况下更新页面的内容。
读者对象
本书为需要创建网站的专业程序员而写,是一本使用ASP.NET 2.0创建网站的十分全面的参考书。本书提供的资源包含数百个在创建ASP.NET 2.0网站时可以直接使用的示例代码。
如果你是一位使用ASP.NET创建网站的新手,那么可以通过阅读本书学会关于使用ASP.NET Framework构建一个网站所需的所有知识。如果你是一位拥有丰富经验的ASP.NET开发者,则可以使用本书学习ASP.NET 2.0的新特性。
本书最后部分包含了一个完整的应用示例:在线商店。随书提供的资源 包含该示例完整的代码。
预备知识
本书假定你掌握了C#或Visual Basic .NET编程语言。如果你真的是一位纯粹的.NET Framework新手,那么我建议你在阅读本书前先读一本介绍C#或Visual Basic .NET的书。
在本书的正文部分,所有的示例代码都使用C#语言 。在随书提供的资源中,也为每一段示例代码提供了Visual Basic .NET语言版本的代码。
为了从数据库访问章节学到更多的知识,你还应该拥有一些使用微软SQL Server、Oracle或微软Access的经验。你应该会使用一些完成基本数据库操作的SQL语句。
本书变化
本书完全不同于第1版。还在打草稿的时候,我就把本书的第1版从便携电脑的硬盘中丢进了回收站。
本书第1版写于五年前第1版ASP.NET Framework发布的时候。像很多程序开发员一样,我也在这五年中经历了很多的变迁。
首先,你会注意到这一版比上一版更多地强调了Web标准。当编写本书第1版时,我根本不关心Web标准的问题。在那个时候,我假定IE赢得了浏览器大战的胜利,唯一需要关心的事情就是让页面在IE中正确地运行。
现在看来,那时的我年轻、愚昧、天真。在本书的第1版出版后,一个名叫Firefox的新浏览器出现了。于是每个人又不得不开始关心如何创建“跨浏览器兼容”(cross-browser-compatible)的网站了。创建跨浏览器兼容网站的最好方法就是遵守Web标准。
本书中的所有示例代码都遵循XHTML和辅助功能(accessibility)标准。你会注意到几乎所有的页面布局和样式都通过CSS(层叠样式表)来实现。而且,本书还有很多关于如何以与Web标准兼容的方式使用包含ASP.NET Framework在内的不同技术的注解。
你还会看到书中的截图不全都是显示在IE中的。为了强调能够使用ASP.NET创建兼容标准的网页的事实,我轮流使用了显示在IE、Firefox和Opera浏览器中的截图。
其次,像很多开发者一样,我变得着迷于一些关于Ajax(Asynchronous JavaScript and XML)的话题。Ajax使你能够创建一些非常类似于桌面应用的Web应用。使用Ajax的特性,可以在不需要将整个页面回传到Web服务器端的情况下更新页面的内容。
当得知微软把创建Ajax应用所需要的基础框架作为一个部分集成在ASP.NET 2.0 Framework中时,我真是非常高兴。Ajax的例子遍布于整本书,例如在第7章中,你会学到如何使用Ajax在页面中随机地显示不同的引言;在第2 卷第14章中,你会学到如何使用Ajax以插入、编辑和显示数据库记录。
本书结构
虽然我鼓励你从头到尾、一章接一章地阅读整本书,不过我知道不是所有的人都有时间这样去阅读的。有必要的话,你可以像使用参考书一样,在需要的时候直接阅读书中的某个章节。这样看来,对本书内容的整体结构有所了解是很有用的。
全书分为两卷,卷1主要是基础知识,分五个部分 :
□第一部分:创建ASP.NET页面——本部分概述了ASP.NET Framework中的基本控件集。你将学习如何使用Form控件创建交互式的Web Form,也会学习如何使用验证控件验证表单数据,最后还将学到使用那些Rich控件 来实现文件上传,显示与用户交互的日历和向导。
□第二部分:设计ASP.NET网站——本部分论述怎样为网站的页面建立统一的布局和样式。学习如何使用母版页在多个页面共享页面内容,学习如何使用主题创建一致的页面样式。
□第三部分:数据访问——本部分关注数据访问的问题。学习如何使用新的GridView控件来显示、分页、排序和编辑数据库记录集,学习如何使用新的DetailsView和FormView控件来一次显示和编辑一条数据库记录。
□第四部分:创建组件——本部分关注创建自定义组件。你将学到如何设计和创建一个多层结构的应用,还会学习如何利用ADO.NET 2.0新特性来创建一个数据访问组件。比如,如何使用.NET Framework创建一个存储过程(Stored Procedure)。
□第五部分:站点导航——本部分讨论类似TreeView和Menu的新导航控件。你将学习如何通过Site Map来使用户方便地在网站中导航页面,也会学习使用VirtaulPathProvider类来从文件系统中提取一个网站。例如,如何把网站中的页面保存在微软SQL Server数据库中。
卷2主要是高级主题,也分为五个部分:
□第一部分:安全——本部分关注新的Login控件和Membership API。你将学习如何创建一个用户注册和验证系统,学到如何把Membership信息保存在SQL Server数据库或活动目录(Active Directory)中。
□第二部分:创建ASP.NET应用——本部分讨论各种关于创建ASP.NET应用的话题。例如,如何利用Caching来改善ASP.NET应用的性能;如何本地化ASP.NET应用,以使它易于翻译,并且能以不同的人类语言呈现。
□第三部分:使用Web部件创建应用——本部分讲述Web部件(Web部件)这一主题。使用Web部件可以创建在运行时被用户或管理员定制的门户应用。
□第四部分:创建自定义控件——本部分关注使用自定义控件扩展ASP.NET Framework。例如,制作一个WebWindow控件使你能够在网页中创建一个虚拟的本地窗体。
□第五部分:示例应用程序——本书的最后一部分是描述一个示例应用程序的单独章节。该章教你如何使用ASP.NET Framework创建一个电子商务网站:ASP.NET啤酒商店。
示例代码
随书提供的资源包含了本书所有示例的代码。如果你想要查看某一章的示例代码,可以把资源中相应文件夹复制到本地硬盘,再使用微软Visual Web Developer打开这个文件夹即可。
同时,这些示例代码也公布在Superexpert网站(www.superexpert.com)上,你可以在这个网站上访问所有代码的“在线版本”。最后,请通过访问Superexpert网站查看关于本书的勘误表和内容更新。
致谢
谨将本书献给我的妻子Ruth Walther,她是我今生最爱的人。
我要感谢微软公司的很多朋友,他们花费了不少时间回答我关于ASP.NET的问题:Scott Guthrie、Susan Chory、Bradley Millington、Mike Harder、Andres
无封面