第1章 VS 2008 IDE 集成开发环境新功能介绍 1
1.1 ASP.NET 3.5技术蓝图概述 2
1.2 ASP.NET 3.5技术脉络 6
1.3 VS 2008开发工具版本介绍 8
1.4 VS 2008与V S 2005环境的共存 10
1.5 VS 2008性能改进 12
1.6 .NET Framework Multi-Targeting 17
1.7 HTML设计画面的拆分视图 19
1.8 CSS样式生成与管理工具 20
1.9 JavaScript IntelliSense支持 21
1.10 JavaScript Debug支持 22
1.11 LINQ与O/R Mapping设计工具的支持 23
1.12 组合管理C#的using语句 25
1.13 嵌套Master Pages的支持 28
1.14 透明的IntelliSense模式 31
1.15 标尺及网格线对WebForm窗体的设计辅助 32
1.16 VS 2008重要Hot-Fix补丁程序 35
1.17 各章示例文件名称列表 37
1.18 结论 37
第2章 VB9语言新功能介绍 39
2.1 局部类型推理与隐式类型声明 40
2.1.1 初探var局部类型推理(Local Type Inference) 40
2.1.2 隐式类型区域变量 42
2.1.3 隐式类型数组 43
2.1.4 隐式类型区域变量与匿名类型的搭配运用 46
2.1.5 隐式类型声明的特性与限制 48
2.2 对象初始化设置 49
2.2.1 关于对象的初始化与构造器 49
2.2.2 对象初始化设置在类上的应用 51
2.3 可为Null的值类型 52
2.4 匿名类型 54
2.5 Lambda表达式 60
2.6 扩展方法 63
2.7 部分方法定义 68
2.8 结论 72
第3章 LINQ新一代数据查询技术 73
3.1 LINQ Project缘起与诞生 74
3.2 LINQ架构概览 75
3.3 LINQ Query查询3步骤及延迟查询特性 78
3.4 LINQ to Object 81
3.5 LINQ to ADO.NET 85
3.5.1 LINQ to DataSet 86
3.5.2 LINQ to SQL 91
3.6 LINQ to XML 105
3.7 结论 116
第4章 DataSet设计工具与TableAdapter在数据访问中的应用 117
4.1 DataSet数据集简介 118
4.2 DataSet数据集的访问运用 119
4.3 强类型DataSet vs.弱类型DataSet 121
4.4 强类型DataSet创建 122
4.4.1 以数据源配置向导创建强类型DataSet数据集 123
4.4.2 以DataSet设计工具设计强类型DataSet数据集 126
4.5 用Code-Behind编写TableAdapter程序 134
4.6 TableAdapter的Insert、 Update、 Delete命令编写与参数化运用 140
4.7 强类型DataSet与弱类型DataSet的性能比较 147
4.8 打开强类型DataSet与TableAdapter黑箱 154
4.9 创建TableAdapter数据库事务 156
4.10 结论 162
第5章 新一代事务管理机制—System.Transactions 163
5.1 事务的概念 164
5.2 传统的.NET事务技术 165
5.3 Local Transaction vs. Distributed Transaction 167
5.4 System.Transactions事务性编程模型 168
5.4.1 隐式事务—使用TransactionScope类 168
5.4.2 显式事务—使用Transaction类 170
5.5 System.Transactions轻量级事务管理者 174
5.6 数据并行处理与数据库锁定 175
5.7 事务隔离级别与范围的设置 176
5.8 结论 183
第6章 Cache 2.0第二代的网页缓存机制I—网页输出缓存 185
6.1 Cache 2.0缓存的新功能与增强 186
6.2 ASP.NET 3.5缓存架构概述 187
6.3 ASP.NET执行管道与缓存原理 189
6.4 网页输出缓存之完整网页缓存 192
6.4.1 完整网页缓存基本观念 192
6.4.2 @OutputCache指令详解 195
6.4.3 Response.Cache的程序化API说明 198
6.4.4 缓存网页的多个版本 201
6.5 网页输出缓存之部分网页缓存 206
6.5.1 控件缓存vs.缓存后替换 206
6.5.2 控件缓存 207
6.5.3 缓存后替换 209
6.6 结论 214
第7章 Cache 2.0第二代的网页缓存机制II—应用程序数据缓存 215
7.1 应用程序数据缓存 216
7.1.1 Response.Cache与Cache("")对象的比较 216
7.1.2 System.Web.Caching.Cache类的应用 218
7.1.3 使用Cache类将数据加入缓存 221
7.1.4 以Cache类移除缓存项目与通知应用程序 228
7.2 缓存数据的自动移除与依赖项的应用 233
7.2.1 内存不足时的缓存自动移除 234
7.2.2 数据过期时的缓存自动移除 237
7.2.3 数据依赖项改变时的缓存自动移除 239
7.3 Cache对象和Application对象的比较 246
7.4 Cache 2.0缓存配置与缓存Profile的运用 247
7.5 结论 254
第8章 全新ASP.NET3.5的ListView与DataPager控件 255
8.1 ListView控件 256
8.2 DataPager控件 260
8.3 ListView排序功能及DataPager分页外观样式设置 261
8.3.1 ListView控件的排序功能设置 261
8.3.2 DataPager分页外观样式配置 264
8.4 结论 266
第9章 VS 2008对CSS样式生成与管理的支持 267
9.1 CSS概述 268
9.2 CSS样式规则 269
9.3 CSS样式类型 271
9.4 CSS样式所在位置 280
9.5 VS 2008的CSS样式生成与管理工具 284
9.6 以VS 2008生成、套用与修改CSS样式 289
9.6.1 以套用样式窗口建立与套用CSS样式 291
9.6.2 以管理样式窗口建立与管理CSS样式 296
9.6.3 以CSS属性窗口建立与修改CSS样式及属性 298
9.6.4 直接样式应用工具栏对CSS样式设计的辅助 299
9.7 结论 302
第10章 CSS在ASP.NET排版及控件上的应用 303
10.1 CSS样式在ASP.NET控件上的应用 304
10.2 CSS样式在Layout排版上的应用 309
10.3 以CSS样式制作GridView控件的圆角效果 317
10.4 结论 322
第11章 VS 2008对JavaScript及ASP.NET AJAX的IntelliSense支持 323
11.1 JavaScript IntelliSense功能诞生的背景 324
11.2 VS 2008中的JavaScript IntelliSense功能意义 325
11.3 JavaScript InteIliSense的使用与设置 327
11.3.1 IntelliSense对In-line内联式JavaScript的使用与设置 327
11.3.2 IntelliSense对Exteal JavaScript Library的使用与设置 334
11.4 JavaScript IntelliSense对ASP.NET AJAX的设置与使用 336
11.5 JavaScript IntelliSense对Web Service的设置与使用 344
11.6 JavaScript IntelliSense对JavaScpt Class类的设置与使用 346
11.7 VS 2008中的JavaScript IntelliSense运行原理的探讨 349
11.8 JavaScript IntelliSense支持的对象类型及类推断 351
11.9 结论 354
第12章 VS 2008对JavaScript的Debug支持 355
12.1 JavaScript Debug支持的重要性 356
12.2 VS 2008的JavaScript程序代码验证 357
12.3 VS 2008调试功能的设置与启用 359
12.4 VS 2008的JavaScript调试新功能 361
12.4.1 VS 2008支持JavaScript调试断点的直接设置 361
12.4.2 支持.aspx、.html、.js类型文件的JavaScript断点设置 362
12.4.3 以新的脚本文件取代旧的脚本资源管理器 366
12.4.4 支持服务器动态产生的JavaScript调试 367
12.4.5 支持Client端与Server端JavaScript中断点对应与更新 369
12.4.6 支持Client Script与Server Managed Code的单一调试 373
12.4.7 支持Web项目Client端对象的即时窗口调试信息显示 374
12.4.8 支持父阶层的Parent Element对象信息显示 378
12.4.9 Client端对象可视化查看器(Visualizer)的辅助 380
12.5 结论 383
第13章 ASP.NET3.5网页的运行状况监视—Health Monitoring 385
13.1 运行状况监视的意义与功能 386
13.2 运行状况监视环境的初始化设置 387
13.3 运行状况监视运行机制原理 390
13.4 运行状况监视配置的三剑客—rules、 eventMappings与providers 391
13.5 细说运行状况监视Web事件及Providers类层次结构 395
13.6 运行状况监视WebHeartbeatEvent事件 409
13.7 缓冲ASP.NET运行状况监视事件 411
13.8 自定义运行状况监视Web事件 414
13.9 结论 419
第14章 Silverlight 1.0开发环境安装及辅助工具应用 421
14.1 Silverlight 1.0架构 422
14.2 Silverlight跨平台与跨浏览器能力 423
14.3 Silverlight功能特征 427
14.4 Silverlight最佳应用场景(Scenarios) 428
14.5 微软Silverlight官方网站 428
14.6 客户端Silverlight的开发环境的安装 430
14.7 安装VS 2008的Silverlight项目模板 431
14.8 Silverlight相关辅助资源及开发工具 434
14.9 结论 441
第15章 Silverlight问答集及项目组成元素功能解说 443
15.1 观察Silverlight项目模板 444
15.2 Silverlight技术问答集 445
15.3 解析Silverlight项目组成元素 449
15.4 Silverlight程序深入探讨 452
15.4.1 修改Silverlight加载的属性参数 453
15.4.2 JavaScript与W3C DOM (Document Object Model)对象的访问 454
15.4.3 JavaScript与Silverlight Object Model的访问 457
15.4.4 createSilverlight()方法与Silverlight.js文件的关系 459
15.5 结论 461
第16章 Silverlight应用程序的开发I—文本、图像与绘图 463
16.1 Silverlight常用对象 464
16.2 XAML语法简介 465
16.3 XAML的特性 470
16.4 Canvas对象 471
16.5 Silverlight文本功能概述及应用 472
16.5.1 TextBlock文本区块 473
16.5.2 Run Element 479
16.5.3 Glyphs 481
16.6 Silverlight绘图(Shape)的应用 484
16.7 Silverlight图像(Image)的应用 489
16.7.1 Image图像 490
16.7.2 ImageBsh图像笔刷 492
16.7.3 Image图像的裁剪(Clip) 494
16.7.4 Image图像的Stretch伸展模式 496
16.8 结论 498
第17章 Silverlight应用程序的开发II—音频、视频及动画 499
17.1 Silverlight音频和视频播放(Audio&Video)的应用 500
17.1.1 Audio音频播放 501
17.1.2 Video视频播放 507
17.2 Silverlight基本动画制作的应用 510
17.2.1 动画基本原理 511
17.2.2 手工动画制作的繁琐过程 511
17.2.3 Silverlight动画系统(Animation System) 512
17.2.4 属性动画系统(Property Animation System) 513
17.3 以JavaScript控制Stoboard动画的运行 522
17.3.1 以JavaScript控制Stoboard动画的运行 522
17.3.2 Resources(资源)定义 526
17.3.3 Silverlight对鼠标事件(Mouse Events)的支持 528
17.4 结论 533
第1章 VS 2008IDE集成开发环境新功能介绍 1
示例1-1 查看CLR引擎版本号 5
示例1-2 使用VS 2008进行嵌套Master Pages的设计 28
第2章 VB9语言新功能介绍 39
示例2-1 基本隐式类型区域变量声明 42
示例2-2 隐式类型数组的定义与查询应用 44
示例2-3 隐式类型区域变量声明配合匿名类型的弹性变化 46
示例2-4 使用对象初始化设置初始化Customer类 51
示例2-5 可为Null的值类型的应用—以顾客数据为例 53
示例2-6 匿名类型对象的建立及使用 57
示例2-7 探索匿名类型对象的类型与名称 58
示例2-8 隐式类型数组结合匿名类型—以模特儿经纪公司为例 59
示例2-9 Lambda Expressions在Delegate委派上的应用 61
示例2-10 Lambda Expressions在Standard QueOperators上的应用 62
示例2-11 使用扩展方法扩展string类型方法 63
示例2-12 使用系统默认的扩展方法 67
示例2-13 部分方法的建立与应用 69
第3章 LINQ新一代数据查询技术 73
示例3-1 以LINQ查询ARRAY数组ELEMENT成员数据 81
示例3-2 以LINQ查询LIST数组ELEMENT成员数据 82
示例3-3 LINQ在SYSTEM.IO文件读取方面的应用 84
示例3-4 以LINQ toDATASET查询弱类型DATASET 87
示例3-5 以LINQ To DATASET查询强类型DATASET 89
示例3-6 纯手工LINQ TO SQL程序 94
示例3-7 自定义LINQ TO SQL ENTITY字段名称 98
示例3-8 以O/R DESIGNER建立ENTITY类定义 100
示例3-9 O/R DESIGNER结合LQDATASOURCE的全自动化 102
示例3-10 以LQ to XML加载XML文件并读取数据 107
示例3-11 以XElement建立XML Tree,并以LQ查询结果 109
示例3-12 以XDocument建立XML Tree,并以LINQ查询结果 112
示例3-13 以XAttribute建立XElement的属性 115
第4章 DataSet设计工具与T ableAdapter在数据访问中的应用 117
示例4-1 传统ADO.NET程序与TableAdapter程序的比较 119
示例4-2 用数据源配置向导创建强类型DataSet数据集 123
示例4-3 以ObjectDataSource控件读取强类型DataSet数据 124
示例4-4 用TableAdapter创建DataTable定义及查询(单一数据表Table查询) 127
示例4-5 用TableAdapter创建DataTable定义及查询(多个数据表Table查询) 132
示例4-6 编写基本的TableAdapter Code-Behind程序 135
示例4-7 逐一读取强类型DataSet中的DataRow数据行 137
示例4-8 强类型DataSet与SglDataAdapter的搭配 139
示例4-9 使用TableAdapter默认的Select、 Inse、 Update与Delete命令 140
示例4-10 创建TableAdapter的参数型Select查询 143
示例4-11 强类型DataSet与弱类型DataSet数据加载与读取测试 148
示例4-12 查看强类型DataSet与TableAdapter内部程序 155
示例4-13 仿传统ADO.NET过程创建TableAdapter数据库事务机制 158
示例4-14 以System.Transactions创建TableAdapter程序的事务机制 161
第5章 新一代事务管理机制—System.Transactions 163
示例5-1 使用TransactionScope建立隐式事务 168
示例5-2 使用CommittableTransaction建立显式事务 171
示例5-3 设置CommittableTransaction环境事务(Ambient) 173
示例5-4 在显式事务中设置隔离级别 179
示例5-5 在隐式事务中设置隔离级别 181
第6章 Cache 2.0第二代的网页缓存机制I—网页输出缓存 185
示例6-1 以@OutputCache指令声明网页输出缓存 192
示例6-2 以Response.Cache的程序化API设置网页输出缓存 194
示例6-3 使用参数缓存网页的多个版本(使用@OutputCache指令) 202
示例6-4 使用编程方式缓存网页的多个版本(使用Response.Cache编程) 203
示例6-5 以用户控件进行ASP.NET网页的部分缓存 208
示例6-6 使用Substitution控件建立缓存后替换功能 209
示例6-7 使用Substitution控件API建立缓存后替换功能 211
示例6-8 使用HttpResponse.WteSubstitution方法实现缓存后替换功能 212
示例6-9 使用AdRotator控件实现缓存后替换 212
第7章 Cache 2.0第二代的网页缓存机制II—应用程序数据缓存 215
示例7-1 观察Web网站的应用程序域 220
示例7-2 使用“索引值/数值”将数据项加入缓存中 221
示例7-3 使用“索引值/数值”缓存DataSet 223
示例7-4 使用Cache.Add()方法将数据项加入缓存中 225
示例7-5 使用Cache.Insert()方法将数据项加入缓存中 227
示例7-6 使用Cache.Insert()方法指定XML文件缓存依赖项 227
示例7-7 使用Cache.Remove()方法将数据项从缓存中移除 229
示例7-8 使用CacheItemRemovedCallback委派建立缓存移除通知 230
示例7-9 指定缓存项目的优先权(CacheItemPriority) 235
示例7-10 设置Web应用程序高速缓存大小 236
示例7-11 设置数据项的缓存过期(Expiration) 238
示例7-12 设置缓存的索引值依赖项 241
示例7-13 设置DataSet缓存与文件的依赖项 243
示例7-14 设置DataSet缓存项目的汇总依赖项 244
示例7-15 以程序读写<OutputCache/>区段设置值 250
示例7-16 以程序读写<OutputCacheSettings>区段设置值 251
示例7-17 网页套用缓存Profile设置 253
第8章 全新ASP.NET3.5的ListView与DataPager控件 255
示例 8-1使用ListView控件显示数据 256
示例 8-2以独立的DataPager控件设置ListView控件的分页 260
示例 8-3自定义ListView控件排序 262
示例8-4 DataPager控件的分页及外观样式配置 265
第9章 VS 2008对CSS样式生成与管理的支持 267
示例9-1 CSS样式的定义与套用(Element-based Selector) 269
示例9-2 基于ID的样式的定义与使用(ID-based Selector) 273
示例9-3 以基于类的样式设置个别网页元素(Class-based Selector) 276
示例9-4 以基于类的样式设置套用样式条件 278
示例9-5 外部CSS样式文件的定义与使用 282
示例9-6 以应用样式窗口建立与套用CSS样式 291
示例9-7 以管理样式窗口移动CSS样式位置 296
示例9-8 自动模式下的CSS样式设计 300
第10章 CSS在ASP.NET排版及控件上的应用 303
示例10-1 在ASP.NET控件套用内部CSS样式定义 305
示例10-2 在ASP.NET控件套用外部CSS样式定义 307
示例10-3 以CSS样式进行两栏式文字排版 309
示例10-4 CSS的两栏式排版在ASP.NET控件的运用 312
示例10-5 以CSS样式进行网页完整的排版 314
示例10-6 以CSS样式设计文字段落的圆角 318
示例10-7 替GRIDVIEW控件加上圆角 320
第11章 VS 2008对JavaScript及ASP.NET AJAX的IntelliSense支持 323
示例11-1 JavaScript IntelliSense对自定义JavaScript变量的完成单词支持 328
示例11-2 JavaScript IntelliSense对列出成员的支持 329
示例11-3 建立JavaScpt IntelliSense的参数信息 331
示例11-4 建立JavaScpt IntelliSense快速信息及参数信息的说明文字提示 332
示例11-5 外部多重JavaScpt文件之间的JavaScpt IntelliSense设置 335
示例11-6 Microsoft AJAX Library7大命名空间及类IntelliSense的使用 339
示例11-7 一般ASP.NET Web Form或.html的JavaScript IntelliSense支持性 341
示例11-8 外部JavaScript文件参考使用Microsoft AJAX Libra 341
示例11-9 Web Service IntelliSense的设置与使用 344
示例11-10 JavaScpt类的建立、使用及加入IntelliSense注释说明 347
示例11-11 JavaScpt类型推断能力的练习 352
第12章 VS 2008对JavaScript的Debug支持 355
示例12-1 使用VS 2008开发工具进行JavaScript程序的验证 357
示例12-2 HTML页面的JavaScript断点设置与调试 362
示例12-3 版页面的JavaScript断点设置与调试 366
示例12-4 针对ScriptManager控件产生的JavaScript进行调试 368
示例12-5 Client端与Server端JavaScript断点对应与双向更新 371
示例12-6 Client Script与Server Managed Code的单一调试 373
示例12-7 即时窗口用于Web Client端的调试 374
示例12-8 查看HTML对象的父阶层parentElement对象信息 378
示例12-9 以可视化查看器查看对象数据 380
第13章 ASP.NET 3.5网页的运行状况监视—Health Monitoring 385
示例13-1 初始化建立运行状况监视环境 387
示例13-2 独立注册运行状况监视使用的SQL Server数据表 388
示例13-3 将用户Login失败的Web事件写入到SQL Server数据库 400
示例13-4 记录URL授权成功事件至SQL Server数据库 402
示例13-5 以电子邮件传送运行状况监视通知信息 403
示例13-6 使用WMI监视网页运行状况 405
示例13-7 周期性引发的WebHeartbeatEvent运行状况监视事件 409
示例13-8 SqlWebEventProvider使用缓冲机制 413
示例13-9 SimpleMailWebEventProvider使用缓冲机制 414
示例13-10 建立与使用自定义运行状况监视的Web事件 415
第14章 Silverlight 1.0开发环境安装及辅助工具应用 421
示例14-1 在VS 2008建立Silverlight 1.0的项目模板 431
示例14-2 使用VS 2008建立第一个Silverlight项目程序 433
第15章 Silverlight问答集及项目组成元素功能解说 443
示例15-1 建立Silverlight网页程序 450
示例15-2 修改 Silverlight控件的加载特性 453
示例15-3 以JavaScript访问HTML DOM中的元素 455
第16章 Silverlight应用程序的开发I—文本、图像与绘图 463
示例16-1 XAML语法的逐步声明 465
示例16-2 Canvas对象在排版上的应用 471
示例16-3 以TextBlock显示基本的文本信息 475
示例16-4 变化TexBlock文本大小、粗细与样式 475
示例16-5 TextBlock文本透明度(Opacity)的运用 477
示例16-6 TextBlock文本的裁剪 477
示例16-7 Run在文本上的应用 480
示例16-8 Glyphs文本雕刻的基本运用 482
示例16-9 基本的矩形绘图 484
示例16-10 基本椭圆与圆形的绘制 485
示例16-11 直线绘图的应用 486
示例16-12 基本的Polygon多边形绘图 487
示例16-13 基本的Ployline多线形绘图 488
示例16-14 以Image显示图像图片 491
示例16-15 利用ImageBsh图像笔刷显示照片 493
示例16-16 图像图片的裁剪 495
示例16-17 Image的Stretch伸展模式(图片<区域) 497
第17章 Silverlight应用程序的开发II—音频、视频及动画 499
示例17-1 基本的Audio音频播放 502
示例17-2 调整MediaElement的Volume及Balance 504
示例17-3 音频播放的高级控制 504
示例17-4 基本Video视频的播放 507
示例17-5 旋转Video视频 508
示例17-6 视频的裁剪(Clip) 509
示例17-7 视频播放的高级控制 510
示例17-8 制作矩形长度与宽度由小变大的动画 516
示例17-9 制作矩形的旋转效果的动画 519
示例17-10 通过鼠标Cck事件进行矩形Shape的动画旋转 523
示例17-11 将Stboard动画脚本集中到Resources之中 527
示例17-12 鼠标MouseLeftButtonDown事件的应用 529
示例17-13 鼠标MouseEnter与MouseLeave事件的应用 531