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

ASP.NET 4权威指南
作者 : 马伟 著
出版日期 : 2010-10-22
ISBN : 978-7-111-32124-8
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 799
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是 ASP.NET领域的鸿篇巨制,全面而系统地讲解了 ASP.NET 4.0的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。本书还深入讲述了其他 ASP.NET图书遗漏的高级主题,如自定义控件的创建、图像处理、加密等。此外,本书专门讲解了何用 Ajax技术制作快速响应的页面,以及如何使用微软的 ASP.NET AJAX平台。尤为值得一提的是,本书还详细讲解了基于SOA的Web技术架构。

图书特色

ASP.NET不仅是微软最重要的战略性产品之一,而且还是Web开发领域最具创新性、最成功的技术之一。它可完全利用.NET架构的强大、高效、安全的平台特性。ASP.NET以功能丰富、性能卓越、高效稳定和开发便利而著称,随着C# 4.0和Visual Studio 2010的推出,今天的ASP.NET 4更是如虎添翼,不仅在功能上有了很大的增强(如增强与改进了输出缓存、会话状态压缩、Web窗体和ASP.NET MVC等功能,新推出了强大的ASP.NET Chart 图形控件等),而且还在敏捷开发、SOA与云计算等技术方面也都提供了很好的解决方案。因此,通过ASP.NET 4,你可以简单快速地开发出企业级的、高性能的易于维护的Web应用系统。
作 者 简 介
马 伟  资深软件研发工程师、系统架构师和企业培训讲师,拥有多年软件研发和管理经验,在系统需求分析、架构设计、数据库设计与实现、设计模式、SOA、性能优化等方面有独到的见解。资深微软技术专家、微软特约讲师、西安.NET俱乐部技术主席,擅长C#、ASP.NET、Visual Studio、SQL Server、 C/C++、UML和Oracle等技术,曾荣获微软“最有影响力开发者”称号。参与并领导了“远程视频监控系统”、“视频营销平台”、“人事绩效考核系统”、“电力四分统计平台”、“电力理论线损计算软件”、“电力生产技术管理系统”、“电力红外监控系统”、“电力防洪防汛监控系统”等项目的架构、设计与开发工作,实践经验丰富。

国内首本ASP.NET 4著作,广度、深度和实践性完美结合
资深专家亲自执笔,知名微软技术社区和权威技术专家一致推荐
基于C# 4.0和Visual Studio 2010

ASP.NET是微软最重要的技术之一,具有非常重要的战略地位。经过多年的发展,ASP.NET在各方面都非常完善和成熟,是Web开发领域最强大和最受欢迎的技术之一。ASP.NET 4在功能和性能上都更强大,是它的里程碑版本之一。作为国内第一本ASP.NET 4的著作,不仅内容全面详尽,实践性强,而且更重要的是,它把ASP.NET 4的新特性深入而细致地展现了出来,堪称完美,强烈推荐。
——微软技术开发者社区
ASP.NET是Web开发领域最重要的创新之一,因功能丰富、强大和能极大地简化程序员的开发工作而深受欢迎。在带来开发上的丰富性和便利性的同时,也带来了学习上的复杂性(ASP.NET涵盖的知识点众多)。本书由权威ASP.NET专家执笔,以最新的ASP.NET 4为基础,在广度上包含了与ASP.NET相关的所有知识点,适合中初级读者系统学习;在深度上深入地分析了各个知识点的原理、要点和难点,可供ASP.NET开发者遇到疑难问题时查阅和参考。
——51CTO读书频道(http://book.51cto.com/)
ASP.NET的书非常多,但是大多数都没有太多特色。本书不仅内容全面,系统性强,深度和广度兼备,而且在知识点的布局和写作方式上独辟蹊径:对于实际开发中极不常用而大部分同类书都按部就班必讲的知识点只做了针对性介绍;对于那些容易给开发者带来困惑而大部分同类书都浅尝辄止的知识点进行了深入分析。本书既能引领初学者步入殿堂,又能帮助有一定经验的读者修炼内功,很难得!
——姜晓东 资深微软技术专家,《C# 4.0权威指南》作者
“执行”与“交付”是程序员最可贵的两种品质,唯有在开发实践中历经千锤百炼的人才能获得这两种品质。本书的作者就是这样一位程序员,他具有广博的.NET平台知识,同时又具有丰富的实战经验。市面上ASP.NET的专著不在少数,但能像本书这样从数据获取到表层展现对ASP.NET 4进行全方位讲解的书仅此一本。本书的每个章节都以精心规划的理论知识为背景,并打上深深的实践烙印,是不可多得的ASP.NET学习资料。
——刘铁猛  51CTO专家博客、博彦科技资深培训师
产品之道在于价值,产品之术在于体验,道中有术,术中有道,这是产品的本质。因此,要开发出一款优秀的软件产品,对于开发人员来说不只是要求具备全面且精湛的技术,而且还要能够深入地认识这些技术的优缺点与瓶颈所在,合理地使用并给出最佳地解决方案。本书要带给你的不只是深入浅出、通俗易懂的ASP.NET开发知识,同时还通过大量实例以帮助你达到学以致用、举一反三目的,为开发出优秀的软件产品打下坚实的基础。
——宋杨  微软MVP、某知名教育集团CTO

图书前言

为何写作本书
  众所周知,ASP.NET是当前最主流的Web应用程序开发技术之一,它构建在.NET Framework之上。.NET Framework属于企业级的技术开发平台,聚合了多种开发语言和多种紧密相关的新技术。通过.NET Framework平台,我们可以根据自己的特长来选择多种开发语言作为ASP.NET的服务器端编程语言,比如C#、Visual Basic等。与此同时,我们还可以根据自己以前开发的习惯来选择多种不同类型的Web应用程序构建方式,比如新建Web网站和新建Web应用程序这两种方式。
  ASP.NET是Web开发技术高速发展的产物,使得从传统的数据库访问技术到如今的分布式应用开发技术等一系列技术都发生了变革。并且,它在快速开发、编译与部署等方面的优势是任何一种互联网开发技术都不能够比拟的。也正是因为这些优点,全球开发者社区一批又一批的开发人员加入到ASP.NET开发这个阵营中。通过ASP.NET,我们可以简单快速地开发出企业级的、高性能的、便于维护的Web应用系统。
  这些年,微软对.NET Framework进行不断地改进与升级,使其在功能上取得了很大的突破,获得了成功。Visual Studio 2010的推出是微软在技术与应用上的一次重要的历史性变革,它不仅在敏捷开发等项目开发技术上得到了很好的支持,而且还在SOA和云计算等技术方面提供了很好的解决方案,功能也日渐强大。当然,在这个过程中,ASP.NET 4也在很多方面有了很大的改进,尤其是其核心功能(如输出缓存、会话状态压缩等方面)、Web窗体、Microsoft Ajax与ASP.NET MVC等。同时,它还新推出了ASP.NET Chart 控件,能让我们在图形报表的处理方面更加得心应手。
  在ASP.NET 4以前,市面上关于ASP.NET的参考书籍非常多,但是在仔细分析后会发现,除了少有的几本引进版图书比较经典之外,大部分书籍都存在着这样一些问题:读者群定位不准确、内容不够系统、深浅不适中、技术版本落后、作者缺乏实际开发经验、过于书面化、照搬MSDN文档,等等。基于这些原因,笔者产生了编写本书的源动力。本书立足于笔者多年的ASP.NET开发经验,以最新的ASP.NET 4为基础,结合Visual Studio 2010与.NET Framework 4全方位地阐述了ASP.NET 4方方面面的知识,旨在使大家能够循序渐进地、系统性地学习ASP.NET 4,最后达到完全掌握与熟练运用的目的。
  鉴于ASP.NET所涉及的内容较多,所以本书对那些华而不实、实际中使用很少的知识点只做了一些简单地介绍,而对那些实用性强、日常开发中使用频率较高的知识点将进行了非常全面、深入地阐述和分析。比如在数据访问(如事务处理、LINQ技术)、状态管理、自定义服务器控件、ASP.NET缓存与分布式缓存Velocity、ASP.NET Web部件等几个方面,其阐述的广度与深度是一般同类书所不能够比拟的。同时,为了提高本书的实用性,笔者还通过大量编程示例展示了一些很有价值的源码与解决方案,从而可以让大家真正地了解、认识软件开发,并达到学以致用的目的。
如何阅读本书
  如果你是一位ASP.NET的中初级读者,本书就是为你量身打造的,你可以逐章地进行系统地学习,并结合我们所提供的示例进行动手实践,巩固所学的知识;如果你是一位有一定基础的高级读者,可以跳过一些基础性的章节,去仔细研读本书中的一些高级话题,它们也许会让你受益非浅。最重要的是,本书可以作为所有ASP.NET开发者的工作参考手册,以备需要时查阅。
  需要特别说明的是,本书是以C#作为ASP.NET的服务器端编程语言。因此,要求你必须有一定的C#基础。如果你需要学习和巩固C#方面的知识,推荐你参考本书的姊妹篇《C# 4.0权威指南》或笔者撰写的《易学C#》。
读者服务支持
  为了能够与广大读者朋友更好地沟通,本书特别提供了如下的Web站点(本书官方网站)供大家学习与交流:  http://www.comesns.com/aspnet。在这里,你不仅可以直接与笔者以及广大读者进行交流,而且还可以下载到本书的所有源代码和相关的电子教学文档,同时还有大量的学习资料与大家共享。

上架指导

计算机\程序设计

封底文字

封底的最上方加上“51CTO联合策划”字样,并加上51CTO的logo。
(说明:机械工业出版社华章分社与51CTO联合策划了一系列书,系列书都有“51CTO联合策划”字样,这系列书要做品牌,首先应该将它的形式和位置统一起来)

ASP.NET是微软最重要的技术之一,具有非常重要的战略地位。经过多年的发展,ASP.NET在各方面都非常完善和成熟,是Web开发领域最强大和最受欢迎的技术之一。ASP.NET 4在功能和性能上都更强大,是它的里程碑版本之一。作为国内第一本ASP.NET 4的著作,不仅内容全面详尽,实践性强,而且更重要的是,它把ASP.NET 4的新特性深入而细致地展现了出来,堪称完美,强烈推荐。
——微软技术社区
ASP.NET是Web开发领域最重要的创新之一,因功能丰富、强大和能极大地简化程序员的开发工作而深受欢迎。在带来开发上的丰富性和便利性的同时,也带来了学习上的复杂性(ASP.NET涵盖的知识点众多)。本书由权威ASP.NET专家执笔,以最新的ASP.NET 4为基础,在广度上包含了与ASP.NET相关的所有知识点,适合中初级读者系统学习;在深度上深入地分析了各个知识点的原理、要点和难点,可供ASP.NET开发者遇到疑难问题是查阅和参考。
——51CTO读书频道(http://book.51cto.com/)
ASP.NET的书非常多,但是大多数都没有太多特色。本书不仅内容全面,系统性强,深度和广度兼备,而且在知识点的布局和写作方式上独辟蹊径:对于实际开发中极不常用而大部分同类书都按部就班必讲的知识点只做了简单介绍;对于那些容易给开发者带来困惑而大部分同类书都浅尝辄止的知识点进行了深入分析。本书既能引领初学者步入殿堂,又能帮助有一定经验的读者修炼内功,很难得!
——姜晓东 资深微软技术专家,《C# 4.0权威指南》作者
“执行”与“交付”是程序员最可贵的两个品质,唯有在开发实践中历经千锤百炼的人才能获得这两个品质——本书的作者就是这样一位程序员,他具有广博的.NET平台知识,同时又具有丰富的实战经验。市面上ASP.NET的专著不在少数,但能像本书这样从数据获取到表层展现对ASP.NET 4进行全方位讲解的书仅此一本。本书的每个章节都以精心规划的理论知识为背景,并打上深深的实践烙印,是不可多得的ASP.NET学习资料。
——刘铁猛 51CTO专家博客、博彦科技资深培训师
产品之道在于价值,产品之术在于体验,道中有术,术中有道,这是产品的本质。因此,要开发出一款优秀的软件产品,对于开发人员来说不只是要求具备全面且精湛的开发技术,而且还要能够深入地认识这些技术的优缺点与瓶颈所在,合理地使用并给出最佳地解决方案。本书要带给你的不只是深入浅出、通俗易懂的ASP.NET开发知识,同时还通过大量实例以帮助大家达到学以致用、举一反三目的,为开发出优秀的软件产品打下坚实的基础。
——宋杨 微软MVP、某知名教育集团的CTO

作者简介

马伟 著:马伟 微软公司最有影响力的开发者之一,资深微软技术专家,软件研发工程师与系统分析师。在其以往的程序岁月中,曾经负责过远程视频监控系统、视频营销平台、企业管理应用系统、南方电网四分统计平台等项目的架构设计与开发。擅长系统分析、架构设计、数据库设计与实现、设计模式、SOA等技术,尤其对C#与UML、C++与UML的架构设计与编程有独到的见解。

图书目录

前 言
致 谢
第一部分 ASP.NET开发基础
第0章 预备课:学习从这里开始 2
0.1 认识Microsoft.NET 2
0.2 ASP.NET的特点 3
0.3 ASP.NET的版本变迁 4
0.3.1 ASP.NET 1.0与ASP.NET1.1 4
0.3.2 ASP.NET 2.0 5
0.3.3 ASP.NET 3.5 6
0.4 ASP.NET 4为我们带来了什么 7
0.4.1 Microsoft Visual Studio 2010集成开发环境 7
0.4.2 ASP.NET核心服务 9
0.4.3 ASP.NET Web窗体 12
0.4.4 动态数据 17
0.4.5 ASP.NET Chart控件 18
0.4.6 Microsoft AJAX的功能 18
0.4.7 ASP.NET MVC 19
0.5 Microsoft Visual Studio 2010集成开发环境 19
0.5.1 解决方案资源管理器 19
0.5.2 控件工具箱 19
0.5.3 服务器资源管理器 20
0.5.4 错误列表与任务列表 20
0.5.5 页面设计窗口与代码编辑窗口 21
0.6 本章小结 22
第1章 开发你的第一个ASP.NET应用—“Hello,World” 23
1.1 创建“Hello,World”Web应用程序 23
1.1.1 创建解决方案和ASP.NETWeb应用程序 23
1.1.2 创建“Hello,World”Web页面 28
1.1.3 编译运行程序 33
1.1.4 调试运行程序 34
1.2 ASP.NET网页代码模型 36
1.2.1 单文件页模型 36
1.2.2 代码隐藏页模型 38
1.2.3 选择属于自己的页模型 39
1.3 ASP.NET生命周期 39
1.3.1 IIS 6.0 的ASP.NET应用程序生命周期 39
1.3.2 IIS 7.0 的ASP.NET应用程序生命周期 42
1.3.3 ASP.NET页面生命周期 43
1.3.4 用程序来演示ASP.NET页面生命周期 44
1.4 ASP.NET配置 46
1.4.1 machine.config文件 46
1.4.2 Web.config文件 47
1.4.3 Web.config转换文件 47
1.4.4 Locator特性语法 50
1.4.5 Transform特性语法 52
1.4.6 Web.config文件的配置继承 54
1.4.7 在实际开发中常用的Web.config配置节设置 54
1.4.8 通过编程读写Web.config配置节 56
1.5 全局应用程序类Global.asax 58
1.5.1 Global.asax的事件 58
1.5.2 在Global.asax文件里实现通用防SQL注入漏洞程序 60
1.6 新建Web网站与新建Web应用程序的区别 63
1.7 本章小结 64
第2章 HTML服务器控件 65
2.1 ASP.NET服务器控件概述 65
2.1.1 ASP.NET服务器控件的类型 65
2.1.2 ASP.NET服务器控件的类层次结构 66
2.2 HTML服务器控件概述 68
2.2.1 HTML标签和HTML服务器控件之间的区别 68
2.2.2 HTML服务器控件的类层次结构 68
2.2.3 HTML服务器控件的共有属性 70
2.3 HTML输入控件 71
2.3.1 HtmlInputButton控件 71
2.3.2 HtmlInputSubmit和HtmlInputReset控件 73
2.3.3 HtmlInputImage控件 73
2.3.4 HtmlInputRadioButton控件 73
2.3.5 HtmlInputCheckBox控件 74
2.3.6 HtmlInputText和HtmlInput Password控件 75
2.3.7 HtmlInputFile控件 76
2.3.8 HtmlInputHidden控件 77
2.4 HTML容器控件 78
2.4.1 HtmlTextArea控件 78
2.4.2 HtmlSelect控件 79
2.5 HtmlImage控件 80
2.5.1 HtmlImage控件的使用方法 80
2.5.2 使用数据流的形式输出图片 81
2.6 使用代码处理HTML服务器控件 82
2.6.1 设置Style特性和其他属性 82
2.6.2 Attributes属性使用说明 82
2.6.3 用程序动态创建控件 83
2.7 本章小结 84
第3章 Web标准服务器控件 86
3.1 Web标准服务器控件概述 86
3.1.1 Web标准服务器控件的功能 86
3.1.2 与HTML服务器控件的区别 86
3.1.3 WebControl基类 87
3.1.4 单位 87
3.1.5 枚举 88
3.1.6 颜色 88
3.1.7 字体 89
3.1.8 默认按钮 90
3.2 数据显示控件 90
3.2.1 Label控件 90
3.2.2 Literal控件 91
3.3 数据输入控件 92
3.3.1 TextBox控件 92
3.3.2 CheckBox控件 93
3.3.3 CheckBoxList控件 93
3.3.4 RadioButton控件 94
3.3.5 RadioButtonList控件 95
3.4 数据提交控件 95
3.4.1 Button控件 96
3.4.2 ImageButton控件 96
3.4.3 LinkButton控件 97
3.5 图像显示控件 97
3.5.1 Image控件 97
3.5.2 ImageMap控件 98
3.6 文件上传控件 100
3.6.1 使用FileUpload控件上传文件 100
3.6.2 文件的类型上传限制 102
3.6.3 文件的大小上传限制 103
3.7 Calendar控件 104
3.8 HyperLink控件 106
3.9 Panel控件 107
3.10 HiddenField控件 109
3.11 AdRotator控件 111
3.12 本章小结 113
第4章 ASP.NET验证控件 114
4.1 验证控件概述 114
4.1.1 验证控件的类型 114
4.1.2 BaseValidator类 115
4.1.3 验证流程 116
4.2 表单验证控件:RequiredField Validator 117
4.3 范围验证控件:RangeValidator 119
4.4 比较验证控件:CompareValidator 120
4.5 正则验证控件:RegularExpressionValidator 122
4.6 自定义逻辑验证控件:CustomValidator 123
4.7 验证信息显示:ValidationSummary 124
4.8 验证控件编程实践 126
4.8.1 以编程方式验证ASP.NET服务器控件 126
4.8.2 开发自己的文本验证控件 127
4.8.3 引用自定义服务器控件的方法 130
4.9 验证组 132
4.10 本章小结 134
第5章 ASP.NET用户控件 135
5.1 用户控件详解 135
5.2 @Control指令 136
5.3 创建简单的用户控件 136
5.3.1 创建一个简单的用户控件 137
5.3.2 将页面转换为用户控件 139
5.4 用户控件编程 142
5.4.1 处理用户控件事件 143
5.4.2 给用户控件添加属性 144
5.4.3 使用自定义对象 145
5.4.4 给用户控件添加事件 148
5.4.5 公开内部Web服务器控件 151
5.4.6 以编程的方式动态加载用户控件 152
5.5 ClientIDMode属性 153
5.6 本章小结 155
第二部分 ASP.NET数据访问
第6章 ASP.NET数据管理 158
6.1 ADO.NET概述 158
6.1.1 ADO.NET数据提供程序 158
6.1.2 ADO.NET数据提供程序的核心对象 160
6.1.3 ADO.NET基本类库 160
6.2 Connection类 162
6.2.1 连接字符串 162
6.2.2 连接字符串和配置文件 165
6.2.3 打开与关闭连接 165
6.3 连接池 167
6.3.1 什么是连接池 167
6.3.2 连接池如何工作 168
6.3.3 连接池中的连接 171
6.3.4 连接遗漏 172
6.3.5 自定义连接池的实现类 173
6.4 Command类和DataReader类 176
6.4.1 Command类概述 176
6.4.2 创建Command对象 177
6.4.3 DataReader类概述 178
6.4.4 ExecuteReader()方法 179
6.4.5 ExecuteScalar()方法 182
6.4.6 ExecuteNonQuery()方法 182
6.4.7 SQL注入攻击 183
6.4.8 SQL注入攻击的防范 185
6.5 常用的数据库操作 187
6.5.1 使用数据库函数 187
6.5.2 使用触发器 188
6.5.3 使用存储过程 189
6.6 事务 194
6.6.1 事务概述 194
6.6.2 .NET事务的类型划分 195
6.6.3 存储过程事务 195
6.6.4 ADO.NET本地事务 196
6.6.5 隔离级别 198
6.6.6 SQL Server保存点 203
6.6.7 System.Transactions 204
6.6.8 COM+事务 208
6.7 非连接的数据概述 212
6.8 DataTable类 213
6.8.1 DataTable类概述 214
6.8.2 构建和操作DataTable 214
6.8.3 使用DataAdapter填充DataTable 222
6.8.4 使用DataReader填充DataTable 224
6.9 DataSet类 224
6.9.1 使用DataAdapter填充DataSet 224
6.9.2 使用多个表和关系 225
6.10 DataView类 227
6.10.1 排序数据 227
6.10.2 过滤数据 228
6.10.3 计算列 229
6.10.4 将DataSet、DataTable和DataView转换成XML 230
6.10.5 将XML转换成DataSet、DataTable 235
6.11 提供程序无关的代码 238
6.12 本章小结 244
第7章 数据控件绑定与操作 245
7.1 List数据控件 245
7.1.1 List数据控件的共有属性与方法 246
7.1.2 DropDownList控件 247
7.1.3 RadioButtonList与CheckBoxList控件 250
7.1.4 ListBox控件 251
7.1.5 BulletedList控件 252
7.2 DetailsView控件 254
7.2.1 数据绑定 254
7.2.2 定义字段 255
7.2.3 分页 256
7.2.4 添加、修改和删除 257
7.2.5 样式定义 262
7.3 FormView控件 263
7.4 Repeater控件 267
7.5 ListView控件 268
7.5.1 定义模板 268
7.5.2 分页 271
7.5.3 排序 273
7.5.4 编辑数据 274
7.6 DataList控件 277
7.7 Chart控件 280
7.8 本章小结 286
第8章 详解GridView控件 287
8.1 GridView控件基础 287
8.1.1 数据绑定 287
8.1.2 定义列 288
8.2 格式化GridView 290
8.2.1 格式化字段 291
8.2.2 格式化特定值 292
8.3 样式定义 294
8.4 GridView控件的基本操作 297
8.4.1 数据分页 298
8.4.2 数据排序 299
8.4.3 创建空表头 300
8.4.4 编辑数据 303
8.5 选择行 306
8.5.1 RowDataBound事件 306
8.5.2 SelectedIndexChanging与SelectedIndexChanged事件 308
8.5.3 将数据字段用做选择按钮 308
8.5.4 在GridView中保持行选择 309
8.6 GridView模板 309
8.6.1 定义GridView模板 310
8.6.2 绑定方法 311
8.6.3 处理事件 311
8.6.4 使用模板编辑 312
8.7 GridView的常用编程技巧 315
8.7.1 GridView实现多表头 315
8.7.2 GridView实现数据统计 322
8.7.3 GridView导出数据 323
8.8 本章小结 324
第9章 LINQ查询基础 325
9.1 LINQ查询概述 325
9.1.1 查询数组 326
9.1.2 查询数据库 327
9.1.3 LINQ查询语法概述 329
9.2 LINQ基本子句 329
9.2.1 from查询子句 330
9.2.2 select选择子句 331
9.2.3 where条件子句 332
9.2.4 orderby排序子句 332
9.2.5 group分组子句 333
9.2.6 into联接子句 334
9.2.7 join联接子句 335
9.2.8 let临时表达式子句 337
9.3 LINQ查询操作 338
9.3.1 查询操作概述 338
9.3.2 筛选操作 340
9.3.3 投影操作 340
9.3.4 排序操作 341
9.3.5 聚合操作 342
9.3.6 集合操作 343
9.3.7 元素操作 344
9.3.8 数据类型转换操作 346
9.3.9 生成操作 346
9.3.10 限定符操作 346
9.3.11 连接操作 347
9.3.12 SequenceEqual操作 348
9.3.13 Contact操作 348
9.3.14 Skip与SkipWhile操作 348
9.3.15 Take与TakeWhile操作 349
9.4 本章小结 349
第10章 LINQ to ADO.NET 350
10.1 LINQ to SQL 350
10.1.1 DataContext类 350
10.1.2 延迟执行 361
10.1.3 自动生成数据类 364
10.1.4 处理关系 368
10.1.5 使用存储过程 370
10.1.6 插入、更新与删除操作 371
10.2 LINQ to DataSet 373
10.2.1 LINQ to DataSet概述 373
10.2.2 单表查询 374
10.2.3 交叉表查询 375
10.2.4 用查询创建数据表 377
10.2.5 修改表中字段数据 378
10.3 QueryExtender控件 379
10.3.1 SearchExpession 379
10.3.2 RangeExpression 381
10.3.3 PropertyExpression 382
10.3.4 OrderByExpression 383
10.3.5 CustomExpression 385
10.4 本章小结 386
第11章 XML与LINQ to XML 387
11.1 XML概述 387
11.1.1 XML声明 388
11.1.2 XML元素 388
11.1.3 XML节点 388
11.1.4 XML属性 389
11.2 基于流的XML处理 389
11.2.1 XmlTextWriter 389
11.2.2 XmlTextReader 392
11.3 基于内存中的XML处理 394
11.3.1 XmlDocument 394
11.3.2 用XPath搜索XmlDocument 398
11.3.3 XPathNavigator 399
11.4 验证XML 401
11.4.1 XML架构 402
11.4.2 验证XmlDocument 402
11.5 LINQ to XML 405
11.5.1 LINQ to XML类概述 405
11.5.2 创建XML 406
11.5.3 读取与查询XML 407
11.5.4 添加XML元素、属性和节点 409
11.5.5 修改XML元素、属性和节点 409
11.5.6 删除XML元素、属性和节点 411
11.6 本章小结 411
第12章 ADO.NET实体框架 412
12.1 理解ADO.NET实体框架 412
12.1.1 生成模型和映射 413
12.1.2 将概念模型映射到存储模型 416
12.1.3 使用实体数据 419
12.1.4 ADO.NET实体框架的优点 421
12.2 LINQ to Entities 421
12.2.1 简单的对象查询处理 422
12.2.2 排序、分组与聚合数据 423
12.2.3 调用在数据库中定义的自定义函数 425
12.2.4 调用在数据库中定义的存储过程 426
12.3 Entity SQL 428
12.4 操作对象 429
12.4.1 创建和添加对象 429
12.4.2 修改对象 430
12.4.3 删除对象 430
12.4.4 保存更改和管理并发 431
12.5 本章小结 432
第三部分 构建ASP.NET站点
第13章 页面样式与布局 434
13.1 在HTML中使用CSS的三种形式 434
13.1.1 内联样式表 435
13.1.2 内部样式表 435
13.1.3 外部样式表 437
13.1.4 各种样式表的优先级 438
13.2 CSS基本语法 439
13.2.1 CSS语法结构 439
13.2.2 背景 443
13.2.3 字体 446
13.2.4 文本 448
13.3 CSS框模型 451
13.3.1 内边距 452
13.3.2 边框 453
13.3.3 外边距 456
13.4 CSS定位 459
13.4.1 绝对定位 460
13.4.2 相对定位 461
13.4.3 固定定位 461
13.5 CSS浮动 461
13.5.1 float属性 462
13.5.2 clear属性 464
13.5.3 用float和clear创建三栏动态布局 465
13.6 在VS2010中编辑CSS 467
13.6.1 添加内联样式表 467
13.6.2 添加外部样式表 468
13.7 常用页面布局标签 469
13.7.1 表格标签 470
13.7.2 div标签 473
13.8 本章小结 478
第14章 ASP.NET母版页 479
14.1 母版页基础 479
14.1.1 创建简单的母版页 480
14.1.2 使用简单的内容页 482
14.1.3 ContentPlaceHolder控件里默认内容 485
14.1.4 相对路径的处理 486
14.1.5 div+css方式布局母版页 488
14.1.6 通过Web.config文件全局设置母版页 490
14.2 在母版页和内容页之间传递数据 491
14.2.1 使用Page.Master属性 492
14.2.2 使用MasterType指令 492
14.2.3 使用MasterPage.FindControl方法 492
14.3 以编程方式设置母版页 493
14.4 嵌套母版页 493
14.4.1 一个嵌套母版页示例 494
14.4.2 嵌套母版页中的控件访问 495
14.5 本章小结 497
第15章 主题和皮肤 498
15.1 使用ASP.NET中的主题 498
15.1.1 主题与CSS的区别 498
15.1.2 主题文件夹和外观 499
15.1.3 给单个ASP.NET页面应用主题 500
15.1.4 StyleSheetTheme属性 501
15.1.5 把主题应用于整个应用程序 502
15.1.6 禁用服务器控件中的主题 503
15.1.7 禁用Web页面上的主题特性 503
15.2 创建自己的主题 504
15.2.1 创建皮肤文件 504
15.2.2 在主题中包含CSS文件 506
15.2.3 在主题中包含图像 508
15.3 定义多个皮肤选项 510
15.4 以编程的方式设置主题 511
15.4.1 编程指定页面的主题 512
15.4.2 编程指定控件的SkinID 512
15.5 理解Page和Master页面的EnableTheming属性 512
15.6 本章小结 513
第16章 站点导航 514
16.1 多视图页面 514
16.1.1 MultiView控件 515
16.1.2 Wizard控件 521
16.2 理解站点地图 526
16.2.1 Web.sitemap 文件 527
16.2.2 配置多个站点地图 528
16.3 SiteMapDataSource控件 529
16.3.1 绑定站点地图 530
16.3.2 自定义显示站点地图 531
16.4 SiteMapPath控件 534
16.4.1 在网站导航中使用SiteMapPath控件 534
16.4.2 自定义链接样式属性 536
16.4.3 自定义模板属性 537
16.4.4 自定义显示在链接之间的字符 538
16.4.5 反转SiteMapPath控件所显示的路径的方向 538
16.4.6 限制显示的父链接的数量 539
16.5 处理站点地图文件 540
16.5.1 编程枚举站点地图节点 540
16.5.2 编程修改内存中的站点地图节点 542
16.5.3 自定义站点地图信息 543
16.6 自定义SiteMapProvider从数据库中读取站点地图数据结构 544
16.6.1 数据表设计 544
16.6.2 定义SqlSiteMapProvider 544
16.6.3 配置自定义站点地图提供程序 549
16.7 站点地图安全性调整 550
16.7.1 启用安全性调整 550
16.7.2 使用角色 551
16.7.3 对多个站点地图或提供程序使用安全性调整 552
16.7.4 性能注意事项 552
16.8 TreeView控件 552
16.8.1 TreeView结构 552
16.8.2 使用SiteMapDataSource绑定TreeView 554
16.8.3 使用程序动态建立TreeView节点 554
16.8.4 使用XML数据源绑定TreeView 556
16.8.5 使用数据库绑定TreeView 558
16.8.6 按需填充TreeView 560
16.8.7 TreeView样式 562
16.8.8 添加复选框 565
16.9 Menu控件 568
16.9.1 Menu控件结构 568
16.9.2 Menu控件显示模式 569
16.9.3 从数据库动态绑定Menu控件 570
16.9.4 Menu样式 572
16.9.5 Menu模板 574
16.10 本章小结 575
第四部分 ASP.NET高级话题
第17章 ASP.NET状态管理 578
17.1 ASP.NET状态管理概述 578
17.1.1 服务器端状态管理 578
17.1.2 客户端状态管理 579
17.2 Response对象 580
17.3 Request对象 582
17.4 Server对象 584
17.5 Cookie 586
17.5.1 创建Cookie 587
17.5.2 控制Cookie的范围 588
17.5.3 读取Cookie 589
17.5.4 修改Cookie 591
17.5.5 删除Cookie 591
17.5.6 Cookie的优点与局限性 591
17.6 会话状态 592
17.6.1 会话变量 592
17.6.2 会话标识符 593
17.6.3 会话状态模式 594
17.6.4 会话状态事件 608
17.6.5 会话状态的生命周期 609
17.6.6 遍历与销毁会话状态 610
17.6.7 会话状态的优点与局限性 610
17.7 视图状态 611
17.7.1 写入和读取视图状态 611
17.7.2 保证视图状态的安全 612
17.7.3 视图状态的优点与局限性 613
17.7.4 ViewStateMode 614
17.8 ASP.NET路由 614
17.8.1 路由与URL模式 614
17.8.2 添加与使用路由 615
17.9 本章小结 617
第18章 自定义服务器控件 618
18.1 创建简单的自定义服务器控件 618
18.1.1 创建MyLink控件 619
18.1.2 创建支持样式属性的MyLink控件 620
18.1.3 通过派生现有的控件来创建MyLink控件 622
18.1.4 呈现过程 624
18.2 元数据特性 624
18.2.1 应用于控件的特性 625
18.2.2 应用于公共属性的特性 626
18.2.3 应用于事件成员的特性 628
18.3 视图状态与控件状态 628
18.4 事件处理 632
18.4.1 回传数据与change事件 632
18.4.2 触发回传 634
18.5 简单属性和子属性 635
18.5.1 定义MyBook控件 636
18.5.2 定义子属性Author 639
18.5.3 定义类型转换器AuthorConverter 641
18.5.4 使用MyBook控件 643
18.6 集合属性 644
18.7 自定义状态管理 648
18.7.1 定义MyNewBook控件 649
18.7.2 定义子属性StateManagedAuthor 652
18.7.3 定义类型转换器StateManagedAuthorConverter 655
18.7.4 使用MyNewBook控件 657
18.8 组合式控件 658
18.9 本章小结 662
第19章 ASP.NET缓存 663
19.1 理解ASP.NET缓存 663
19.2 输出缓存 664
19.2.1 使用@OutputCache指令以声明的方式设置缓存 664
19.2.2 ASP.NET中的缓存配置 667
19.2.3 自定义缓存控制 668
19.2.4 使用HttpCachePolicy类以编程的方式设置缓存 669
19.2.5 部分页缓存 671
19.2.6 缓存后替换 672
19.2.7 检查缓存页的有效性 674
19.2.8 使用缓存键依赖项缓存页输出 676
19.2.9 使用文件依赖项缓存页输出 676
19.3 数据缓存 677
19.3.1 将项添加到缓存中 677
19.3.2 检索缓存项的值 680
19.3.3 从缓存中删除项 681
19.4 高级缓存依赖 681
19.4.1 SQL Server 2005与SQL Server 2008缓存依赖 681
19.4.2 自定义缓存依赖 685
19.5 自定义输出缓存提供程序 688
19.6 分布式缓存Velocity 693
19.6.1 安装与操作Velocity 693
19.6.2 存储与检索简单的数据 696
19.6.3 存储与检索复杂的数据 700
19.6.4 使用分区与标签 704
19.6.5 锁定模型 705
19.7 本章小结 706
第20章 多语言本地化应用程序 707
20.1 ASP.NET网页资源 707
20.1.1 全局资源文件 709
20.1.2 本地资源文件 709
20.1.3 全局与本地资源文件使用建议 710
20.2 在网页中使用资源 710
20.2.1 隐式本地化 710
20.2.2 显式本地化 711
20.2.3 以编程方式检索资源值 711
20.3 为不同的语言选择资源文件 712
20.3.1 以声明方式设置区域性和UI区域性 713
20.3.2 以编程方式设置区域性和UI区域性 714
20.3.3 显式地选择页面的显示语言 714
20.4 CultureInfo类 716
20.4.1 CultureInfo类的方法 716
20.4.2 CurrentCulture属性 718
20.4.3 CurrentUICulture属性 718
20.4.4 InvariantCulture属性 719
20.4.5 其他属性 719
20.5 System.Globalization命名空间 720
20.5.1 日历 720
20.5.2 日期和时间 722
20.5.3 数值型数据 726
20.5.4 数据的比较和排序 728
20.6 设置编码 735
20.7 本章小结 735
第21章 ASP.NET Web部件 736
21.1 什么是Web部件 736
21.2 Web部件控件集 737
21.2.1 基本要素 737
21.2.2 控件概述 738
21.3 创建简单的Web部件页面 739
21.3.1 Web部件的使用方法 739
21.3.2 Web部件页面创建示例 740
21.3.3 Web部件生命周期 747
21.4 页显示模式 749
21.4.1 BrowseDisplayMode(浏览模式) 749
21.4.2 DesignDisplayMode(设计模式) 749
21.4.3 EditDisplayMode(编辑模式) 751
21.4.4 CatalogDisplayMode(目录模式) 755
21.4.5 ConnectDisplayMode(连接模式) 757
21.5 Web部件的高级应用 758
21.5.1 自定义Web部件 758
21.5.2 自定义谓词 763
21.5.3 自定义编辑器 764
21.5.4 连接Web部件 767
21.5.5 导出导入Web部件 773
21.5.6 自定义个性化数据提供程序 778
21.5.7 配置文件中的WebParts元素 782
21.6 本章小结 783

教学资源推荐
作者: [美] 埃里克·伽玛(Erich Gamma) 理查德·赫尔姆(Richard Helm) 拉尔夫·约翰逊(Ralph Johnson) 约翰·威利斯迪斯(John Vlissides) 著
作者: 邱李华 郭志强 曹青
参考读物推荐
作者: 莫海 编著
作者: 刘志铭 等编著
作者: David Buser, John Kauffman