首页>参考读物>计算机科学与技术>软件与程序设计

ASP.NET 2.0网络应用开发核心技术
作者 : Randy Connolly
译者 : 刘红伟 李军
出版日期 : 2007-08-24
ISBN : 7-111-21955-2
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 684
开本 : 16开
原书名 : Core Internet Application Development with ASP.NET 2.0
原出版社: Prentice Hall
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是学习ASP.NET 2.0的权威指南。本书的作者有多年的教学和程序开发的经验,对Web应用程序的开发有自己独到的见解,对ASP.NET进行过深入的探讨和研究。
  本书讲解充分,注重例析,讲求实用,贴近最新技术发展,适合各个层次的ASP.NET程序员阅读和使用。

  本书特点
  ◇实例代码充分。提供了上百个专业品质的代码示例,包括完整的应用程序和业务对象。
  ◇注重例析,讲求实用。提供丰富的实际演练练习,帮助读者强化所学知识。
  ◇贴近新技术发展,深入介绍最新的ASP.NET功能。
  ◇Web应用程序和服务的架构和实现的最佳实践。
  ◇内容详尽,涵盖了从设计到部署,整个ASP.NET开发过程的专业级观点。
  ◇深入浅出,适合不同层次的程序员使用。

图书特色

图书前言

“……结构的高度简化,并非几个元素所能做到,而是高度复杂性的结果。”
  —Ralph Waldo Emerson,“Goethe; or, the Writer,”  Representative Men,第8章
  2005年11月,Microsoft的.NET框架和ASP.NET的2.0版本伴随着Visual Studio开发环境的新版本发布了。这个新版本的ASP.NET显著地增强了能力,也增加了复杂性。当我在1999年刚开始使用传统的ASP教授Web应用程序开发的时候,我可以在两周内教会我的学生ASP的基本知识。当然,要用ASP创建一个即便是中等复杂程度的应用程序示例,也需要学生编写很多的代码。现在,使用ASP.NET 2.0,几乎需要2/3个学期才能教会我的学生使用ASP.NET。然而,现在学生可以创建一个相当复杂的示例应用程序。也就是说,尽管ASP.NET 2.0可能很复杂,但它显著地提高了Web开发者的生产效率。因此,用Emerson的话来解释,当开发者掌握并理解了ASP.NET看似最初的复杂性之后,他也就能够被其最终的简单性甚至是美丽所吸引了。
  本书致力于帮助读者实现从复杂性到简单性的转换。也就是说,针对那些并不熟悉ASP.NET的读者,以及那些已经多少有些熟悉ASP.NET但希望学习如何更有效地使用它的读者,本书试图使得他们学习如何使用ASP.NET 2.0创建现实的Web应用程序的过程不再那么令人生畏。
  作为学习如何创建现实的Web应用程序的过程的一部分,本书也致力于强调正确的编程和设计原则的重要性。第一次学习ASP.NET的时候,开发者常常试图把所有的注意力集中到和Visual Studio Designer一起使用众多不同的Web服务器控件上。有了这些控件的范围和能力,以及Visual Studio的简单性和功能性,这也就很容易理解了。然而,当我们创建更为复杂的“现实世界”的Web应用程序时,可维护性、可扩展性和可修改性等其他的考虑逐渐变得更为重要。因此,本书的最终目标不仅是帮助读者精通ASP.NET 2.0,而且是通过关注Web应用程序开发中的当前最佳实践来帮助读者成为更好的Web应用程序开发者。
  目标读者
  本书最优先地针对那些想要学习如何使用Microsoft的ASP.NET最新版本来开发Web应用程序的专业开发者。由于我在大学里教授Web开发,本书也可供教室里的那些选修了一门使用ASP.NET进行Web应用程序开发课程的高年级学生使用。
  阅读先决条件
  本书假设读者已经了解HTML和CSS基础知识。它并不要求读者了解任何ASP.NET或C#的知识。本书假定读者熟悉使用一种面向对象语言的编程。因此,本书并不提供有关C#细节的介绍(要了解这方面的内容,请参阅Stephen Perry的Core C# and .NET, Prentice Hall, 2006)。相反,本书展示了如何把C#和ASP.NET联合起来使用。
  本书还偶尔涉及了UML类图。尽管UML(统一建模语言)的知识能够加深你的理解,但它决不是本书所必需的。本书还假设你熟悉一般的数据库和XML知识。
  阅读方法
  本书试图为你提供一条清晰的路径,来学习如何有效地、实际地使用ASP.NET 2.0来创建Web应用程序。由于完整的ASP.NET 2.0容量很大,相当大的图书篇幅只是用来教授非常基本的ASP.NET知识。本书的方法是谨慎地使用简洁的篇幅介绍非常基础的内容,从而能够花足够的时间来解决你在掌握这些基础知识后通常面临的问题。
  本书中有相当多的代码,在一本有关软件开发的图书中,这应该不奇怪。很多代码都是由简短的代码片断组成的。然而,偶尔也会有较长的代码清单。这些清单提供了更加复杂的完整的示例,例如一个RSS阅读器、一个上传和下载文件的文件管理器,或者一个示例业务对象。这些清单都有详细的注释,以便你不仅能够从图书的正文中学习,而且可以从这些长长的代码清单中有所收获。大多数的章节都包含几个实际演练练习。在ASP.NET中,可以使用一组按部就班的指令来完成某项任务。
  学习每一章都有几个可选的方法。一个读者可以主要关注其正文与其代码片断,而忽略较长的代码清单和实际演练练习。其他的读者可能喜欢首先学习一章的实际演练练习,然后阅读正文来提取对本章内容的更全面的理解。另一些读者可能只是浏览一下正文,然后“阅读”较长的代码清单。
  本书的结构是为了使那些没有ASP.NET知识的读者能够按照各章的顺序线性地学习,因为一章中的内容构建在前一章知识的基础上。然而,读者也可以采取一种更为“随机”的方式来学习以这种方式呈现的内容,向前或者向后跳转到他所感兴趣的内容。
  本书中的组织方式和话题顺序主要是根据我在课堂上向大学生以及专业开发者教授ASP.NET的经验来确定的。它也受到我自己为实际的客户而专业地使用ASP.NET的经验的影响。
  概览
  本书可以划分为三个主要的部分。第一部分是“核心ASP.NET”,由本书前7章组成。这些章介绍并探究了ASP.NET的关键基础功能。第二部分包括接下来的5章,这就是“操作数据”。它关注的可能是任何Web应用程序中最重要的部分,即向用户表示、提取、操作和显示数据。第三部分也是最后一部分包含了4章,即“实现Web应用程序”。它关注使用ASP.NET开发应用程序的更为高级的方面,包括安全性、个性化、Web service,以及本地化和部署。
  第1章介绍了ASP.NET和.NET框架。它介绍了.NET平台的不同组成部分,把ASP.NET和其他的Web开发环境进行了比较,描述了ASP.NET编译模式,介绍了ASP.NET中的事件系统,并且说明了如何使用Visual Studio 2005创建简单的ASP.NET页面。
  第2章继续介绍ASP.NET的基础知识。本章深入介绍了ASP.NET是如何工作的。它描述了ASP.NET中的事件系统、页面的生命周期,以及回发和视图状态的基本机制。它还介绍了一些更为高级的话题,你可以先跳过这些话题,等到对ASP.NET更为熟悉之后再返回来学习它们。这些话题包括ASP.NET编译模式、Page类,以及应用程序生命周期。
  第3章提供了ASP.NET的 Web服务器控件架构的概览,介绍了Web表单语法,介绍了如何使用所有Web服务器控件的通用功能,并且展示了如何使用标准Web服务器控件的一个核心子集。由于ASP.NET 2.0现在有很多的Web服务器控件,一些较少使用的核心Web服务器控件将在第4章中介绍。
  第4章继续介绍了标准Web服务器控件。本章所介绍的控件更为复杂。本章所介绍的一些控件包括Panel、MultiView、Wizard、FileUpload和Xml控件。整本书中几个最长的代码清单都在本章中。
  第5章介绍了Web应用程序开发最为重要的一个方面,即如何处理异常,包括在语言层面和在ASP.NET层面。本章还介绍了如何使用ASP.NET验证控件。
  第6章介绍如何使用样式、主题、皮肤和主页面创建复杂的用户界面。本章还介绍了自己的用户控件的创建。
  第7章介绍了如何使用ASP.NET的站点导航控件描述和创建一个站点的导航系统。
  第8章是本书第二部分的开始。ASP.NET 2.0引入了操作数据的一种新方法,并且本章的焦点就是关于表示数据的不同方法。本章还介绍了数据绑定、数组、集合、泛型和数据集。
  第9章通过介绍如何通过编程和声明的方式来操作数据库中的数据,从而继续第8章的内容。本章首先介绍在ASP.NET中如何使用ADO.NET的类来访问和修改数据库中的数据。本章还介绍了不用编写代码的访问数据的方法,这就是使用  ASP.NET 2.0中引入的数据源控件。
  第10章介绍了如何使用ASP.NET中的各种数据控件。它介绍了Repeater、DataList、FormView、DetailsView和GridView控件的使用。这些控件中的每一个都是用数据绑定来以不同的方式显示(并且对有些控件来说甚至是编辑)多组数据。
  第11章把关注点从单个控件和类转移开来,介绍使用ASP.NET创建一个更为复杂的Web应用程序所涉及的问题。本章首先介绍Web应用程序的设计以及Web应用程序的一些通用分层模型,然后把话题转移到实现两个示例分层架构。
  第12章介绍了对于任何Web应用程序来说都很关键的ASP.NET的一个方面,即管理状态。本章首先介绍数据存储在客户机上的各种类型的ASP.NET状态,如视图状态和cookie。然后介绍了数据存储在服务器上的那些状态机制,包括会话状态、应用程序状态,最后是ASP.NET缓存。
  第13章是本书最后一部分的开始。它介绍了安全机制,这是任何Web应用程序最重要的一个方面。它讨论了ASP.NET环境中的验证和授权,介绍了如何使用不同的登录控件以及新的提供者系统,包括成员和角色管理提供者。
  第14章介绍了ASP.NET 2.0中把用户个性化整合到Web应用程序中的两种机制,即配置文件系统和Web部件框架。配置文件系统允许一个应用程序跨时间和跨多页面来维持用户信息。Web部件框架为开发者提供了一种创建页面的方法,用户可以在页面中自定义页面内容的位置、外观以及可能的行为。
  第15章介绍如何在ASP.NET中同步地和异步地消费Web service。本章还展示了如何构建Web service。
  第16章介绍了如何为一个国际化用户来规划和修改一个ASP.NET应用程序,以及部署一个完整的ASP.NET Web应用程序的各种方法。
  附录部分提供了对ASP.NET AJAX的一个初级介绍,ASP.NET AJAX直到2006年秋季都还只是以代码名Atlas为代号。ASP.NET AJAX是来自微软的一个免费的框架,它在ASP.NET 中添加了对AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)的支持。ASP.NET AJAX包含了相当大的一组功能,这些功能把客户机脚本(JavaScript)库和ASP.NET的基于服务器的页面整合起来。它提供了一个用来和JavaScript一起工作的API,一个指示符可选地和JavaScript一起工作,丰富的客户端脚本组件,以及特殊的Atlas服务器端控件。
  辅助资料
  本书的Web站点是http://www.randyconnolly.com/core。其中包含:
  ·书中所有示例的源代码
  ·每章示例用到的所有数据库、图像和样式表
  ·每章末尾的实践练习的解答
  ·书中和代码中已知错误的列表
  ·一个提交更正和建议的表单
  ·附加或更新的索引的可下载版本
  本书也可供教室里的那些选修了一门使用ASP.NET进行Web应用程序开发课程的高年级学生使用。对于采用本书教授课程的教师,可以从同一个站点下载如下内容:
  ·每章的Powerpoint讲稿
  ·半学期课程的推荐教学大纲和详细课程计划
  ·课外作业和课程项目
  ·多项选择题、简答题和论述题等考试问题
  ·实验教程
  Prentice Hall也为本书维护着一个包含附加信息的Web页面,位于www.prenhallprofessional.com/ title/0321419502。
  致谢
  本书几乎花费了整整一年的时间去编写。在这段时间里,我得到了很多的帮助,现在我非常高兴能有机会来表示感谢。首先,我要感谢我的编辑Joan Murray,他抓住了机会并且给我了这个机会。还要感谢Pearson Education那些帮助编辑和出版这本书的其他人,包括Jessica D誂mico、Kelli Brooks、Sean Donahue、Vanessa Moore和Julie Nahil。我还要感谢Shannon Bailey最初给我的鼓励,他是Pearson Education的高级销售代表。
  编写这样一本书的快乐之处在于,可以从技术审阅者那里收到反馈。我非常感谢以下的审阅者:Robin Pars和Jerry Maresca。Cay Horstmann和J. Ambrose Little是特别用心而有见地的审阅者,我还要感谢他们。
  在我编写本书的时候,我意识到自己对很多东西还是无知的。很多时候,这种无知在某种程度上通过下面作者的很多优秀的文章和Blog得以弥补,他们是K. Scott Allen、Dino Esposito、Martin Fowler、Scott Guthrie、Jimmy Nilsson、Fritz Onion、Ted Pattison、Scott Mitchell和Rick Strahl。
  在过去的一年里,我继续自己的全职教学工作。在这段时间里,我的工作时间在我的两位系主任Judy Gartaganis和Bill Paterson的支持下变得更好管理。这一年里,我所承受的压力经常由我的同事Paul Pospisil帮我缓解。我还要感谢Mount Royal College 2005/6 Research Reserve Fund的支持,它使我能够减轻教学负担。
  在过去的那些年里,我已经培养了很多优秀的学生。在这本书的规划和实现上,我的很多学生都曾经给我帮助(可能他们并没有意识到),对于他们,我依旧充满激情和谢意。
  最后,也是最重要的,我必须要感谢我的家人对我的支持。在过去的6个月里,我的妻子Diana和我的孩子Alexander及Benjamin很少见到我。在最后的困难持续的3个月里,我总是受到想要再次和他们一起度过时光的欲望的激励,以及要创造某些值得他们尊敬的东西这一想法的持续鼓励。

  —Randy Connolly
  2007年1月

封底文字

本书是学习ASP.NET 2.0的权威指南。本书的作者有多年的教学和程序开发的经验,对Web应用程序的开发有自己独到的见解,对ASP.NET进行过深入的探讨和研究,本书讲解充分,注重例析,讲求实用,贴近最新技术发展,适合各个层次的ASP.NET程序员阅读和使用。 本书特点 ◇实例代码充分。提供了上百个专业品质的代码示例,包括完整的应用程序和业务对象。 ◇注重例析,讲求实用。提供丰富的实际演练练习,帮助读者强化所学知识。 ◇贴近新技术发展,深入介绍最新的ASP.NET功能。 ◇Web应用程序和服务的架构和实现的最佳实践。 ◇内容详尽,涵盖了从设计到部署,整个ASP.NET开发过程的专业级观点。 ◇深入浅出,适合不同层次的程序员使用。

作者简介

Randy Connolly:Randy Connolly: 兰德康诺利(Randy Connolly),从1997年,任教于加拿大Mount皇家学院的计算机系,他擅长Web应用开发、游戏开发以及面向对象的设计。康诺利花了8年多的时间为国际用户开发Web站点,并且有16年软件开发的经验。他获得过加拿大社会科学及人文研究委员会博士生奖学金、创新研究和教学奖(两次)、教学卓越奖等。

译者简介

刘红伟 李军:暂无简介

译者序

ASP.NET 2.0中引入了令人难以置信的大量新特性、新功能。若将ASP.NET 2.0的设计目的归纳为一句话,那就是:“提高开发人员的生产率,并极大地减少开发人员必须编写的代码行数。”许多常见任务只需几行代码就能完成,甚至根本不需要代码。
  尽管ASP.NET 2.0的功能得到了很大的扩展,从而降低了Web开发的难度,但其自身的复杂性进一步增加了,这给初学者带来了一定的难度。本书致力于帮助读者实现从复杂性到简单性的转换。也就是说,针对那些并不熟悉ASP.NET的读者,以及那些已经多少有些熟悉ASP.NET但希望学习如何更有效地使用它的读者,本书试图使得他们学习如何使用ASP.NET 2.0创建现实的Web应用程序的过程不再那么令人生畏。
  本书可以划分为三个主要的部分。第一部分是“核心ASP.NET”,由前7章组成。这些章介绍并探究了ASP.NET的关键基础功能。第二部分包括接下来的5章,这就是“操作数据”。它关注的是如何向用户表示、提取、操作和显示数据。第三部分也是最后一部分包含了4章,即“实现Web应用程序”。它关注使用ASP.NET开发应用程序的更为高级的方面,包括安全性、个性化、Web service,以及本地化和部署。
  和市面上其他的ASP.NET 2.0图书相比较,本书具有一些显著的特色:讲解充分,注重例析,讲求实用,贴近最新技术发展。这些特色体现在以下几个方面。
  实例代码充分。本书中有相当多的代码,很多代码都是由简短的代码片断组成的。然而,偶尔也会有较长的代码清单。这些代码清单提供了更加复杂的完整的示例,例如一个RSS阅读器、一个上传和下载文件的文件管理器,或者一个示例业务对象。通过学习代码,读者可以更好地掌握本书所介绍的内容的实际应用。
  实际演练。大多数章节中都有几个实际演练练习。这是一组按部就班的指令,可以使用ASP.NET来完成某个任务。通过实际演练,读者很容易强化自己在本章学习到的一些基本技能的操作和应用。
  练习。每章末尾都有几个练习。这些练习要么是对本章中的实例进行必要的改进,要么是利用本章的知识点编写一个全新的应用。通过练习,可以检验读者对本章知识点掌握的程度。
  每章末尾的关键概念。每章末尾列出了本章涉及到的关键概念。对着些关键概念的掌握和理解,决定着读者对本章主题的熟悉程度。  
  附录A给出了对ASP.NET Ajax的一个概览性介绍。这个介绍分为两部分,能够帮助读者认识ASP.NET Ajax并学会初步使用ASP.NET Ajax。
  我们非常高兴能够有机会把这样一本具有实用特色的ASP.NET 2.0图书翻译介绍给读者。除了刘红伟、李军,参加本书翻译工作的还有关志兴、王建勇、毛立涛、闫柳青、姜巧生、沈海峰、谢扣林、乔义峰、刘查强、王义强、刘国际、杨传辉、王建华、汪明军、朱兆涛、毛付安、张勇、杜兴平、刘志飞、尚计升、史红伟等。由于时间和译者能力的限制,其中难免存在一些不妥之处,欢迎读者朋友通过liuhongwei198004@sina.com和译者交流学习,共同提高。最后,祝本书的读者朋友阅读愉快,有所收获。
  译者
  2007年6月

图书目录

译者序
前言
第一部分 核心ASP.NET
第1章 ASP.NET 2.0简介 1
1.1 为什么使用ASP.NET 1
1.1.1 静态Web内容和动态Web内容 1
1.1.2 竞争性的动态服务技术 2
1.1.3 ASP.NET的优势 4
1.2 .NET框架 5
1.2.1 .NET框架的组件 6
1.2.2 .NET执行 8
1.3 ASP.NET Web表单 9
1.3.1 C#语言 13
1.3.2 Web应用程序结构 13
1.4 Visual Studio 2005 15
1.4.1 Visual Studio Web项目 16
1.4.2 Web服务器选项 16
1.5 教程:创建ASP.NET Web表单 19
1.5.1 在Visual Studio中创建一个Web站点 19
1.5.2 添加一个新的Web表单 20
1.5.3 向一个Web表单添加HTML内容 21
1.5.4 添加编程逻辑 24
1.5.5 遇到错误 27
1.5.6 使用Visual Studio调试器 29
1.6 小结 31
1.7 练习 31
1.8 关键概念 31
1.9 参考资料 32
第2章 ASP.NET的工作机制 33
2.1 ASP.NET事件模型 33
2.1.1 回发 34
2.1.2 视图状态和控件状态 35
2.1.3 页面生命周期 36
2.2 ASP.NET代码编译 46
2.3 Page类 49
2.3.1 Request 50
2.3.2 Response 51
2.3.3 Server 51
2.4 ASP.NET应用程序生命周期 51
2.4.1 用户向服务器请求ASP.NET资源 52
2.4.2 为请求创建ASP.NET核心对象 56
2.4.3 为请求分配HttpApplication对象 56
2.4.4 使用HttpApplication管理处理请求 58
2.5 小结 60
2.6 练习 60
2.7 关键概念 60
2.8 参考资料 61
第3章 使用标准Web服务器控件 62
3.1 服务器控件简介 62
3.1.1 HTML服务器控件 62
3.1.2 Web服务器控件 62
3.1.3 验证控件 63
3.1.4 用户控件 63
3.1.5 自定义服务器控件 63
3.2 Web服务器控件概览 63
3.2.1 常用成员 64
3.2.2 通过编程操作属性 65
3.3 基本的标准Web服务器控件 67
3.3.1 Label控件 68
3.3.2 Literal控件 69
3.3.3 TextBox控件 71
3.3.4 按钮式控件 73
3.3.5 Command事件 75
3.3.6 CheckBox控件 79
3.3.7 RadioButton控件 81
3.3.8 列表式控件 81
3.3.9 Image控件 89
3.3.10 ImageMap控件 92
3.3.11 HyperLink控件 94
3.3.12 HiddenField控件 95
3.3.13 Table控件 97
3.3.14 Calendar控件 103
3.4 小结 116
3.5 练习 116
3.6 关键概念 116
3.7 参考资料 116
第4章 其他标准Web服务器控件 118
4.1 其他标准Web服务器控件概览 118
4.2 Panel控件 119
4.3 MultiView控件和View控件 127
4.3.1 View之间的导航 128
4.3.2 使用一个MultiView创建页签式
的面板 129
4.4 Wizard控件 133
4.4.1 使用Wizard控件 136
4.4.2 理解Wizard控件的布局 138
4.4.3 自定义向导 139
4.4.4 自定义标题区域 140
4.4.5 Wizard事件处理 146
4.4.6 FileUpload控件 148
4.4.7 PlaceHolder控件 151
4.4.8 AdRotator控件 160
4.4.9 Xml控件 163
4.5 小结 172
4.6 练习 172
4.7 关键概念 172
4.8 参考资料 172
第5章 异常处理和验证控件 173
5.1 错误处理 173
5.1.1 .NET异常处理 173
5.1.2 在类级别使用try...catch语句块的
异常处理 174
5.1.3 页面级的异常处理 176
5.1.4 应用程序级的异常处理器 178
5.2 使用验证服务器控件 183
5.2.1 ASP.NET表单验证过程 184
5.2.2 RequiredFieldValidator控件 190
5.2.3 ValidationSummary控件 190
5.2.4 CompareValidator控件 192
5.2.5 RangeValidator控件 194
5.2.6 RegularExpressionValidator控件 195
5.2.7 CustomValidato控件 200
5.2.8 验证组 205
5.3 小结 210
5.4 练习 210
5.5 关键概念 210
5.6 参考资料 211
第6章 自定义和管理网站的外观 212
6.1 改变服务器控件的外观 212
6.1.1 常用外观属性 212
6.1.2 对控件使用CSS 213
6.1.3 外观属性、CSS和ASP.NET 217
6.2 主题和皮肤 218
6.2.1 定义皮肤 218
6.2.2 在Visual Studio中创建主题 219
6.2.3 应用主题 220
6.2.4 主题如何工作 220
6.2.5 覆盖主题 221
6.2.6 命名皮肤 222
6.2.7 主题和图像 222
6.2.8 主题和CSS 223
6.2.9 动态设定主题 225
6.2.10 用两个主题创建一个示例页面 226
6.3 主页面 234
6.3.1 定义主页面 237
6.3.2 嵌套主页面 240
6.3.3 主页面如何工作 242
6.3.4 主页面编程 242
6.3.5 主页面和主题 244
6.4 用户控件 250
6.4.1 创建和使用用户控件 251
6.4.2 对用户控件添加数据和行为 252
6.5 小结 253
6.6 练习 254
6.7 关键概念 255
6.8 参考资料 255
第7章 ASP.NET站点导航 256
7.1 ASP.NET站点导航概览 256
7.2 XML站点地图 258
7.2.1 消费XML站点地图 259
7.2.2 对站点地图编程 263
7.2.3 使用不同的站点地图 264
7.2.4 站点地图的其他功能 266
7.3 SiteMapPath控件 267
7.3.1 样式化SiteMapPath 268
7.3.2 把查询字符串整合到SiteMapPath 270
7.4 Menu控件 273
7.4.1 使用Menu控件 275
7.4.2 改变菜单的外观 277
7.4.3 处理菜单事件 283
7.5 TreeView控件 288
7.5.1 理解TreeView控件 289
7.5.2 使用TreeView控件 291
7.5.3 改变TreeView的外观 292
7.5.4 通过TreeView控件使用其他数据 294
7.5.5 响应TreeView事件 298
7.6 小结 303
7.7 练习 303
7.8 关键概念 304
7.9 参考资料 304
第二部分 操作数据
第8章 数据绑定和表示 305
8.1 数据绑定简介 305
8.1.1 如何使用数据绑定 305
8.1.2 什么可以充当数据源 306
8.2 使用集合 307
8.2.1 集合接口 307
8.2.2 使用常用的集合 308
8.2.3 ArrayList 311
8.2.4 泛型 314
8.2.5 Dictionary集合 317
8.2.6 创建自己的泛型集合 318
8.3 DataSet 322
8.3.1 使用DataTable 323
8.3.2 使用DataSet 328
8.3.3 关联DataTable 331
8.3.4 XML和DataSet的整合 333
8.4 选择一个数据容器 338
8.4.1 .NET Collections作为数据容器 339
8.4.2 自定义集合作为数据容器 339
8.4.3 DataSet作为数据容器 340
8.4.4 类型化DataSet作为数据容器 340
8.5 小结 341
8.6 练习 341
8.7 关键概念 341
8.8 参考资料 342
第9章 使用ADO.NET 343
9.1 ADO.NET简介 343
9.1.1 选择一个数据提供者 345
9.1.2 数据提供者类 345
9.2 DbConnection类 346
9.2.1 连接字符串 346
9.2.2 对一个DbConnection编程 347
9.2.3 存储连接字符串 349
9.2.4 连接池 350
9.3 DbCommand类 350
9.3.1 创建一个DbCommand 351
9.3.2 访问、添加、更新或删除数据
的SQL命令 351
9.3.3 存储过程 352
9.3.4 执行一个DbCommand 353
9.3.5 使用DbParameter类 354
9.3.6 使用事务 356
9.4 DbDataReader类 360
9.4.1 对一个DbDataReader编程 360
9.4.2 隐式连接关闭 362
9.4.3 教程:读取和更新数据 363
9.5 DbDataAdapter类 371
9.5.1 填充一个DataSet 372
9.5.2 更新数据 374
9.6 独立于数据提供者的ADO.NET编码 376
9.7 数据源控件 378
9.7.1 使用参数 380
9.7.2 修改数据 383
9.7.3 数据源控件是如何工作的 383
9.7.4 使用ObjectDataSource 384
9.8 小结 392
9.9 练习 393
9.10 关键概念 393
9.11 参考资料 394
第10章 数据控件 395
10.1 多值数据控件简介 395
10.1.1 理解模板 398
10.1.2 数据绑定表达式 398
10.2 DataList控件 401
10.2.1 使用通用模板 403
10.2.2 使用DataList链接页面 405
10.3 Repeater控件 406
10.4 FormView控件 409
10.4.1 从一条记录移动到另一条记录 411
10.4.2 修改数据 413
10.5 DetailsView控件 419
10.5.1 自定义DetailsView字段 421
10.5.2 修改DetailsView数据 423
10.6 GridView控件 426
10.6.1 自定义GridView列 428
10.6.2 选择行 434
10.6.3 GridView分页 438
10.6.4 GridView排序 441
10.6.5 在GridView中编辑数据 442
10.6.6 其他的GridView任务 445
10.7 小结 451
10.8 练习 451
10.9 关键概念 452
10.10 参考资料 452
第11章 设计和实现Web应用程序 453
11.1 设计一个应用程序 453
11.1.1 使用层 454
11.1.2 分层的结果 455
11.2 两层模型 456
11.3 三层模型 457
11.3.1 设计和实现一个业务对象 458
11.3.2 通过编程使用业务对象 465
11.3.3 和ObjectDataSource一起使用
业务对象 466
11.4 四层模型 468
11.4.1 设计一个四层架构 468
11.4.2 修改数据访问层 470
11.4.3 创建一个复杂的领域实体 473
11.4.4 创建应用程序逻辑层 475
11.4.5 在显示层中使用架构 478
11.5 小结 486
11.6 练习 486
11.7 关键概念 486
11.8 参考资料 487
第12章 ASP.NET状态管理 488
12.1 客户机存储的状态 488
12.1.1 视图状态 488
12.1.2 控件状态 491
12.1.3 隐藏字段 491
12.1.4 查询字符串 492
12.1.5 cookie 492
12.2 应用程序状态 493
12.3 会话状态 494
12.3.1 会话状态是如何工作的 495
12.3.2 会话状态提供者 497
12.3.3 配置文件属性 501
12.4 ASP.NET缓存 501
12.4.1 应用程序数据缓存 502
12.4.2 缓存依赖性 506
12.4.3 页面输出缓存 507
12.5 小结 509
12.6 练习 509
12.7 关键概念 509
12.8 参考资料 510
第三部分 实现Web应用程序
第13章 安全性、成员和角色管理 511
13.1 ASP.NET安全性简介 511
13.1.1 IIS安全概览 512
13.1.2 ASP.NET安全性过程 514
13.1.3 代码访问安全和ASP.NET信任级别 515
13.1.4 ASP.NET验证 518
13.2 表单验证 519
13.2.1 使用表单验证 519
13.2.2 创建一个登录表单 521
13.2.3 表单验证系统如何工作 526
13.2.4 使用非cookie的验证票据 528
13.3 提供者模式 529
13.3.1 提供者模式架构 530
13.3.2 创建自定义提供者 531
13.4 成员 537
13.4.1 成员系统概览 537
13.4.2 配置SqlMembershipProvider 538
13.4.3 使用成员API 540
13.5 角色管理 544
13.5.1 角色提供者 544
13.5.2 管理角色 545
13.5.3 使用角色管理API 547
13.6 登录控件 552
13.6.1 Login控件 552
13.6.2 LoginName控件 555
13.6.3 LoginStatus控件 555
13.6.4 LoginView控件 556
13.6.5 ChangePassword控件 558
13.6.6 PasswordRecovery控件 559
13.6.7 CreateUserWizard控件 560
13.7 小结 561
13.8 练习 561
13.9 关键概念 562
13.10 参考资料 562
第14章 用配置文件和Web部件实现
个性化 563
14.1 ASP.NET配置文件 563
14.1.1 定义配置文件 563
14.1.2 使用配置文件数据 564
14.1.3 配置文件如何工作 568
14.1.4 保存和访问配置文件数据 569
14.1.5 使用自定义类型 570
14.1.6 使用匿名用户 572
14.1.7 何时使用配置文件 576
14.2 Web部件框架 577
14.2.1 Web部件、Web Part Zones和Web
部件管理器 579
14.2.2 创建和使用Web部件 581
14.2.3 从用户控件获取Web部件 585
14.2.4 从自定义控件获取Web部件 589
14.2.5 改变不同的显示模式 592
14.2.6 Design模式 594
14.2.7 Catalog模式 595
14.2.8 Edit模式 596
14.2.9 Web部件连接 601
14.3 小结 611
14.4 练习 611
14.5 关键概念 612
14.6 参考资料 612
第15章 Web Service 613
15.1 Web Service简介 613
15.2 消费Web service 615
15.2.1 如何使用Visual Studio消费一个
Web Service 616
15.2.2 在一个用户控件中消费
Web Service 619
15.2.3 消费Amazon Web Service 621
15.2.4 消费Web Service和性能 628
15.2.5 异步Web Service 630
15.3 创建Web Service 635
15.3.1 创建一个简单的Quote服务 636
15.3.2 测试Quote服务 640
15.3.3 为业务或应用程序逻辑类创建一个
Web service前端 641
15.3.4 创建Web Service的规则 642
15.4 小结 643
15.5 练习 643
15.6 关键概念 644
15.7 参考资料 644
第16章 国际化和部署 645
16.1 国际化一个Web应用程序 645
16.1.1 资源文件简介 646
16.1.2 生成资源文件 647
16.1.3 本地化资源文件 650
16.1.4 全局资源 652
16.1.5 页面级文化设置 653
16.2 部署 657
16.2.1 手动地把文件从开发机器复制到
部署机器上 657
16.2.2 预编译Web站点 659
16.2.3 使用Web Setup Project创建一个
安装程序 661
16.3 小结 665
16.4 练习 665
16.5 关键概念 665
16.6 参考资料 666
附录A ASP.NET AJAX窥秘 667

教学资源推荐
作者: [美]兰德尔·海德(Randall Hyde) 著
作者: 刘建舟 徐承志 陈荆亮 吴奕 编著 邵雄凯 主审
作者: (美)Harold Abelson,Gerald Jay Sussman,Julie Sussman
作者: 杨树林 胡洁萍 编著
参考读物推荐
作者: (美)弗里茨·安德森(Fritz Anderson) 著
作者: Michael Juntao Yuan Kevin Sharp
作者: 张昆 戴艳 编著
作者: (英)Ayers,D.