第Ⅰ部分 ASP.NET页面 3
第1章 ASP.NET编程模型 3
1.1ASP.NET究竟是什么 4
1.1.1Web窗体编程 5
1.1.2基于HTTP的事件驱动编程 6
1.1.3HTTP协议 8
1.1.4ASP.NET页面的结构 10
1.2ASP.NET组件模型 13
1.2.1组件交互模型 14
1.2.2runat属性 14
1.2.3ASP.NET服务器控件 17
1.3ASP.NET开发栈 18
1.3.1表示层 18
1.3.2页面框架 19
1.3.3HTTP运行时环境 21
1.4ASP.NET提供程序模型 24
1.4.1提供程序模型的基本原理 24
1.4.2ASP.NET实现概述 27
1.5小结 31
1.6本章要点 31
第2章 使用VisualStudio2008进行Web开发 33
2.1VisualStudio2008简介 33
2.1.1VisualStudio的突出特性 34
2.1.2VisualStudio2008特有的功能 39
2.1.3新的语言特性 43
2.2创建一个ASP.NET网站项目 47
2.2.1页面设计功能 47
2.2.2在项目中添加代码 53
2.2.3ASP.NET中的保留文件夹 57
2.2.4ASP.NET项目的生成 61
2.3应用程序的部署 64
2.3.1XCopy部署 64
2.3.2站点预编译 67
2.4ASP.NET应用程序的管理 69
2.4.1网站管理工具 70
2.4.2ASP.NET配置文件的编辑 73
2.5小结 74
2.6本章要点 75
第3章 ASP.NET页面剖析 76
3.1页面的调用 76
3.1.1运行机制 77
3.1.2请求的处理 82
3.1.3页面的处理指令 86
3.2Page类 95
3.2.1Page类的属性 96
3.2.2Page类的方法 99
3.2.3Page类的事件 103
3.2.4事件模型 104
3.2.5异步页面 105
3.3页面的生命周期 111
3.3.1页面的建立 111
3.3.2回发的处理 114
3.3.3页面的终结阶段 115
3.4小结 116
3.5本章要点 117
第4章 ASP.NET核心服务器控件 118
4.1ASP.NET服务器控件的通性 119
4.1.1Control类的属性 119
4.1.2Control类的方法 122
4.1.3Control类的事件 122
4.1.4其他功能 123
4.2HTML控件 127
4.2.1HTML控件的通性 128
4.2.2HTML容器控件 131
4.2.3HTML输入控件 135
4.2.4HtmlImage控件 140
4.3Web控件 141
4.3.1Web控件的通性 142
4.3.2核心Web控件 144
4.3.3合成的Web控件 150
4.4验证控件 154
4.4.1验证控件的通行 155
4.4.2各种验证控件 157
4.4.3特殊功能 160
4.5小结 166
4.6本章要点 166
第5章 页面的使用 167
5.1窗体编程 167
5.1.1HtmlForm类 168
5.1.2多窗体 170
5.1.3跨页投递 174
5.2页面错误的处理 178
5.2.1错误处理基础知识 179
5.2.2错误与页面的映射 183
5.3ASP.NET跟踪 187
5.3.1ASP.NET执行流程的跟踪 188
5.3.2跟踪消息的编写 189
5.3.3跟踪查看器 191
5.4页面的个性化 192
5.4.1用户配置文件的创建 193
5.4.2与页面的交互 196
5.4.3配置文件提供程序 202
5.5小结 204
5.6本章要点 205
第6章 富页面组合 206
6.1母版页的使用 207
6.1.1ASP.NET1.x中的富页面设计 207
6.1.2母版页的编写 208
6.1.3内容页的编写 211
6.1.4母版页与内容页的处理 215
6.1.5母版页的编程 219
6.2主题的使用 221
6.2.1理解ASP.NET主题 222
6.2.2将主题应用于页面和控件 225
6.2.3主题的运用 228
6.3向导的使用 231
6.3.1Wizard控件概述 232
6.3.2向导步骤的添加 236
6.3.3向导的导航 239
6.4小结 242
6.5本章要点 243
第Ⅱ部分 向ASP.NET网站添加数据 247
第7章 ADO.NET数据提供程序 247
7.1.NET数据访问基础架构 247
7.1.1.NET托管数据提供程序 248
7.1.2通过ADO.NET访问数据源 251
7.1.3提供程序工厂模型 254
7.2数据源的连接 258
7.2.1SqlConnection类 258
7.2.2连接字符串 263
7.2.3连接池 269
7.3命令的执行 274
7.3.1SqlCommand类 274
7.3.2ADO.NET数据读取器 278
7.3.3异步命令 283
7.3.4事务的使用 287
7.3.5SQLServer2005特有的改进 291
7.4小结 294
7.5本章要点 295
第8章 ADO.NET数据容器 296
8.1数据适配器 296
8.1.1SqlDataAdapter类 297
8.1.2表映射机制 302
8.1.3批量更新的工作方式 306
8.2内存中的数据容器对象 308
8.2.1DataSet对象 309
8.2.2DataTable对象 314
8.2.3数据关系 320
8.2.4DataView对象 322
8.3小结 324
8.4本章要点 325
第9章 数据绑定模型 326
9.1基于数据源的数据绑定 326
9.1.1可用的数据源 327
9.1.2数据绑定属性 329
9.1.3列表控件 334
9.1.4迭代控件 340
9.2数据绑定表达式 345
9.2.1简单数据绑定 345
9.2.2DataBinder类 347
9.2.3其他数据绑定方法 349
9.3数据源组件 352
9.3.1数据源组件概述 353
9.3.2数据源控件内幕 354
9.3.3Sq1DataSource控件 357
9.3.4AccessDataSource控件 362
9.3.5ObjectDataSource控件 363
9.3.6LinqDataSource类 371
9.3.7SiteMapDataSource类 380
9.3.8XmlDataSource类 384
9.4小结 387
9.5本章要点 388
第10章 Linq-to-SQL编程模型 389
10.1LINQ概述 389
10.1.1针对数据操纵的语言集成工具 390
10.1.2通用的查询语法 395
10.1.3LINQ的内部机制 401
10.2与SQLServer的交互 404
10.2.1数据上下文 404
10.2.2数据的查询 409
10.2.3数据的更新 416
10.2.4其他特性 421
10.3小结 423
10.4本章要点 423
第11章 创建可绑定的数据网格 425
11.1DataGrid控件 426
11.1.1DataGrid的对象模型 426
11.1.2将数据绑定到网格 430
11.1.3DataGrid控件的使用 434
11.2GridView控件 437
11.2.1GridView的对象模型 437
11.2.2将数据绑定到GridView控件 442
11.2.3数据的分页 452
11.2.4数据的排序 458
11.2.5数据的编辑 463
11.2.6高级功能 467
11.3小结 472
11.4本章要点 473
第12章 记录列表的管理 474
12.1ListView控件 474
12.1.1ListView的对象模型 475
12.1.2列表布局的定义 481
12.1.3表格式布局的构建 482
12.1.4流布局的构建 487
12.1.5平铺布局的构建 489
12.1.6对列表应用样式 495
12.2ListView控件的使用 497
12.2.1就地编辑 498
12.2.2更新的管理 500
12.2.3新数据项的插入 502
12.2.4项的选择 506
12.2.5项列表的分页 508
12.3小结 512
12.4本章要点 512
第13章 记录视图的管理 514
13.1DetailsView控件 514
13.1.1DetailsView的对象模型 514
13.1.2DetailsView控件的数据绑定 520
13.1.3主/从式视图的创建 523
13.1.4数据的操作 526
13.2FormView控件 535
13.2.1FormView的对象模型 535
13.2.2FormView控件的数据绑定 537
13.2.3数据的编辑 539
13.3小结 542
13.4本章要点 543
第Ⅲ部分 ASP.NET基础架构 547
第14章 HTTP请求上下文 547
14.1应用程序的初始化 547
14.1.1HttpApplication类的属性 548
14.1.2应用程序模块 549
14.1.3HttpApplication类的方法 549
14.1.4HttpApplication类的事件 550
14.2global.asax文件 553
14.2.1global.asax的编译 553
14.2.2global.asax的语法 554
14.2.3错误和异常的跟踪 557
14.3HttpContext类 559
14.3.1HttpContext类的属性 560
14.3.2HttpContext类的方法 561
14.4Server对象 562
14.4.1HttpServerUtility类的属性 563
14.4.2HttpServerUtility类的方法 563
14.5HttpResponse对象 569
14.5.1HttpResponse类的属性 569
14.5.2HttpResponse类的方法 572
14.6HttpRequest对象 575
14.6.1HttpRequest类的属性 575
14.6.2HttpRequest类的方法 578
14.7小结 580
14.8本章要点 580
第15章 ASP.NET的状态管理 581
15.1应用程序的状态 581
15.1.1HttpApplicationState类的属性 583
15.1.2HttpApplicationState类的方法 583
15.1.3状态同步 584
15.1.4应用程序状态的权衡 585
15.2会话状态 586
15.2.1会话状态HTTP模块 586
15.2.2HttpSessionState类的属性 591
15.2.3HttpSessionState类的方法 592
15.3会话状态的使用 592
15.3.1会话的标识 593
15.3.2会话的生存期 598
15.3.3将会话状态保存在远程服务器中 599
15.3.4将数据保存到SQLServer 603
15.4会话状态管理的自定义 608
15.4.1构建自定义的会话状态提供程序 608
15.4.2自定义会话ID的生成 611
15.5页面的视图状态 614
15.5.1StateBag类 614
15.5.2视图状态的常见问题 615
15.5.3无视图状态的Web窗体编程 618
15.5.4ASP.NET视图状态的新变化 621
15.5.5将视图状态保存在服务器上 625
15.6小结 629
15.7本章要点 629
第16章 ASP.NET的缓存技术 630
16.1应用程序数据的缓存 630
16.1.1Cache类 630
16.1.2ASP.NET缓存的使用 634
16.1.3实践问题 641
16.1.4自定义依赖项的设计 645
16.1.5针对XML数据的缓存依赖项 647
16.1.6针对SQLServer的缓存依赖项 651
16.2ASP.NET页面的缓存 658
16.2.1@OutputCache指令 659
16.2.2HttpCachePolicy类 664
16.2.3缓存页面的多个版本 666
16.2.4ASP.NET页面局部的缓存 669
16.2.5高级缓存功能 673
16.3小结 676
16.4本章要点 676
第17章 ASP.NET的安全性 678
17.1威胁来自何方 678
17.2ASP.NET安全性上下文 679
17.2.1ASP.NET应用程序涉及的安全性上下文 680
17.2.2ASP.NET进程标识的更改 682
17.2.3ASP.NET应用程序的信任级别 685
17.2.4ASP.NET身份验证方法 688
17.3使用Forms身份验证 690
17.3.1Forms身份验证控制流程 691
17.3.2FormsAuthentication类 694
17.3.3Forms身份验证的配置 696
17.3.4Forms身份验证的高级功能 700
17.4成员资格与角色管理API 704
17.4.1Membership类 705
17.4.2成员资格提供程序 710
17.4.3角色的管理 714
17.5安全性相关的控件 718
17.5.1登录控件 718
17.5.2LoginName控件 721
17.5.3LoginStatus控件 721
17.5.4LoginView控件 723
17.5.5PasswordRecovery控件 724
17.5.6ChangePassword控件 727
17.5.7CreateUserWizard控件 728
17.6小结 729
17.7本章要点 730
第18章 HTTP处理程序和模块 731
18.1IIS可扩展性API概述 732
18.1.1ISAPI模型 732
18.1.2IIS7.0的革新 735
18.2HTTP处理程序的编写 736
18.2.1IHttpHandler接口 736
18.2.2用HTTP处理程序快速建立数据报表 738
18.2.3图片查看器处理程序 743
18.2.4更高效地存储图像 747
18.2.5HTTP处理程序高级编程 753
18.3HTTP模块的编写 759
18.3.1IHttpModule接口 760
18.3.2自定义的HTTP模块 761
18.3.3页面的刷新特性 764
18.4小结 769
18.5本章要点 770
第Ⅳ部分 ASP.NETAJAX扩展 773
第19章 部分呈现——通向AJAX的捷径 773
19.1ASP.NETAJAX基础结构 774
19.1.1AJAX幕后的引擎 775
19.1.2Microsoft AJAXJavaScript库 780
19.1.3脚本管理器控件 791
19.2使用部分呈现来有选择性地更新页面 800
19.2.1UpdatePanel控件 801
19.2.2UpdatePanel控件的优化使用 805
19.2.3撤销挂起的更新 815
19.2.4部分呈现的利与弊 815
19.3AJAX控件工具包 818
19.3.1通过扩展程序来改进控件 819
19.3.2通过输入扩展程序完善用户界面 825
19.3.3向Web页面添加安全弹出式提示框 836
19.4小结 843
19.5本章要点 843
第20章 支持AJAX的Web服务 845
20.1AJAX范式的实现 845
20.1.1去掉部分呈现 846
20.1.2ASP.NETAJAX应用程序客户端层的设计 847
20.1.3ASP.NETAJAX应用程序服务器层的设计 849
20.2针对ASP.NETAJAX应用程序的Web服务 852
20.2.1应用程序特定的Web服务 852
20.2.2Web服务的远程调用 854
20.2.3AJAXWeb服务的调用 858
20.2.4对AJAXWeb服务的思考 862
20.3针对AJAX应用程序的WCF服务 864
20.3.1构建一个简单的WCF服务 864
20.3.2构建一个稍微复杂的WCF服务 868
20.4利用页面方法来进行远程调用 870
20.4.1页面方法简介 871
20.4.2页面方法的使用 872
20.5小结 875
20.6本章要点 876
第21章 Silverlight与富互联网应用程序 877
21.1Silverlight概要 877
21.1.1Silverlight的版本 878
21.1.2Silverlight与Flash 880
21.2Web页面中的Silverlight 881
21.2.1Silverlight引擎 882
21.2.2XAML内容的定义 889
21.2.3Silverlight中的XAML语法 893
21.3Silverlight的对象模型 904
21.3.1Silverlight编程基础 904
21.3.2Silverlight2.0简介 911
21.4小结 915
21.5本章要点 915