第1章 .NET框架 1
1.1 Web程序开发的发展历程 1
1.1.1 HTML和HTML表单 1
1.1.2 CGI接口 3
1.1.3 脚本语言 3
1.1.4 组件技术 3
1.2 .NET框架 3
1.2.1 .NET框架的发展历程 4
1.2.2 .NET语言 5
1.2.3 公共语言运行时 6
1.2.4 .NET类库 7
1.2.5 Visual Studio 7
1.3 .NET 4.0 8
1.4 小结 10
第2章 Visual Studio 2010开发环境 11
2.1 安装 11
2.2 创建Web项目 14
2.3 Web项目管理 17
2.3.1 添加新资源 17
2.3.2 编辑Web页面 18
2.3.3 属性查看器 20
2.3.3 编辑后台代码 21
2.3.4 编译和运行应用程序 21
2.4 Visual Studio 2010新特性 22
2.4.1 窗口移动 22
2.4.2 调用层次结构 22
2.4.3 定位搜索 23
2.4.4 突出显示引用 23
2.4.5 智能感知 23
2.5 小结 24
第3章 ASP.NET Web编程原理 25
3.1 ASP.NET应用程序的构成 25
3.1.1 文件类型 26
3.1.2 文件夹类型 26
3.2 服务器控件 27
3.2.1 HTML服务器控件 27
3.2.2 Web控件 27
3.3 ASPX页面代码模式 27
3.3.1 页面类 27
3.3.2 网页代码存储模式 28
3.4 Application事件 30
3.4.1 Globe.asax文件 30
3.4.2 Application事件种类 30
3.5 ASP.NET应用程序配置 31
3.5.1 ASP.NET程序配置文件 32
3.5.2 Web.config配置文件 32
3.5.3 网站管理工具 36
3.6 ASP.NET 4.0的新特性 37
3.6.1 ASP.NET MVC 2.0 37
3.6.2 ASP.NET AJAX 4.0 38
3.6.3 ASP.NET WebForms 4 38
3.6.4 ASP.NET Web Deployment 39
3.7 小结 40
第4章 C#语言程序设计 41
4.1 概述 41
4.1.1 大小写的敏感性 41
4.1.2 注释 41
4.1.3 语句终止符 42
4.1.4 语句块 42
4.2 变量和数据类型 42
4.2.1 变量初始化 43
4.2.2 转义字符 44
4.2.3 数组 44
4.3 数据运算 45
4.3.1 数值运算 46
4.3.2 字符串运算 46
4.4 语句 47
4.4.1 条件语句 47
4.4.2 循环语句 49
4.5 方法 50
4.5.1 方法重载 51
4.5.2 委托 52
4.6 类、对象和结构 54
4.6.1 结构 54
4.6.2 类 55
4.6.3 对象 58
4.7 隐型局部变量 58
4.8 扩展方法 59
4.9 Lambda表达式 60
4.9.1 匿名方法 60
4.9.2 Lambda表达式基础 61
4.9.3 Lambda表达式的格式 63
4.9.4 Lambda表达式树 63
4.10 对象和集合初始化器 64
4.10.1 对象初始化器 65
4.10.2 集合初始化器 66
4.11 匿名类型 66
4.12 隐型数组 68
4.13 C#4.0的新特性 68
4.13.1 大整数类型BigInteger 69
4.13.2 动态数据类型dynamic 70
4.13.3 命名参数和可选参数 70
4.14 小结 72
第5章 Web控件 73
5.1 基本的Web控件 73
5.2 Web控件类 74
5.2.1 Web控件的基本属性 75
5.2.2 单位 77
5.2.3 枚举 77
5.2.4 颜色 78
5.2.5 字体 78
5.3 列表控件 79
5.3.1 ListBox 79
5.3.2 DropDownList 81
5.3.3 CheckBoxList 83
5.3.4 RadioButtonList 85
5.3.5 BulletedList 86
5.4 表控件 88
5.4.1 表控件对象模型 88
5.4.2 向页面中添加表控件 90
5.4.3 动态操作表控件 91
5.5 Web控件的事件 94
5.5.1 Web控件的事件模型 94
5.5.2 Web控件事件的绑定 95
5.6 小结 95
第6章 内置对象 96
6.1 Response对象 96
6.1.1 Response对象的属性 97
6.1.2 Response对象的方法 98
6.1.3 Response对象的应用举例 98
6.2 Request对象 101
6.2.1 Request对象的属性 101
6.2.2 Request对象的方法 103
6.3 Server对象 103
6 3.1 Server对象的属性 104
6.3.2 Server对象的方法 104
6.3.3 Server对象的应用举例 104
6.4 ViewState对象 106
6.4.1 概述 106
6.4.2 ViewState的安全机制 107
6.4.3 保留成员变量 108
6.4.4 存储自定义对象 109
6.4.5 传递信息 110
6.5 Cookies对象 114
6.5.1 概述 114
6.5.2 Cookies对象的属性 115
6.5.3 Cookies对象的方法 116
6.5.4 Cookies对象的使用 116
6.5.5 Cookies对象的应用举例 117
6.6 Session对象 119
6.6.1 概述 119
6.6.2 Session跟踪 120
6.6.3 Session对象的属性 120
6.6.4 Session对象的方法 121
6.6.5 Session对象的使用 121
6.6.6 Session的应用举例 121
6.6.7 Session的存储 124
6.7 Application对象 126
6.7.1 Application对象的属性 126
6.7.2 Application对象的方法 127
6.7.3 Application对象的应用举例 127
6.8 小结 128
第7章 输入验证 129
7.1 概述 129
7.1.1 验证控件的使用 129
7.1.2 何时进行验证 130
7.1.3 验证多个条件 130
7.1.4 显示错误信息 130
7.1.5 验证对象模型 130
7.2 验证控件 130
7.2.1 RequiredFieldValidator控件 131
7.2.2 CompareValidator控件 132
7.2.3 RangeValidator控件 133
7.2.4 RegularExpressionValidator控件 134
7.2.5 CustomValidator控件 135
7.3 定制验证控件 138
7.4 综合实例 143
7.5 小结 145
第8章 Rich控件 146
8.1 Calendar控件 146
8.1.1 属性和方法 146
8.1.2 Calendar控件的外观设置 149
8.1.3 Calendar控件编程 153
8.2 AdRotator控件 155
8.2.1 属性和方法 156
8.2.2 从数据源中读取广告信息 157
8.2.3 显示和跟踪广告 160
8.3 MultiView和View控件 163
8.3.1 属性和方法 163
8.3.2 应用举例 164
8.4 Wizard控件 166
8.4.1 属性和方法 166
8.4.2 Wizard控件的应用 168
8.5 小结 170
第9章 用户控件和页面绘图 171
9.1 用户控件 171
9.1.1 概述 171
9.1.2 创建用户控件 172
9.1.3 用户控件的使用 175
9.1.4 用户控件事件 178
9.2 页面绘图 179
9.2.1 绘图的基本知识 179
9.2.2 绘制随机码图片 181
9.2.3 绘制汉字验证码 183
9.2.4 图片的格式和质量 185
9.3 小结 188
第10章 样式、主题和母版页 189
10.1 样式 189
10.1.1 样式的作用 189
10.1.2 样式的种类 190
10.1.3 样式的语法 191
10.1.4 使用样式 195
10.1.5 样式创建器 196
10.1.6 CSS属性窗口 199
10.1.7 创建和应用样式文件 200
10.2 主题 201
10.2.1 概述 202
10.2.2 主题的创建 204
10.2.3 主题的应用 205
10.2.4 SkinID的应用 207
10.2.5 主题的禁用 208
10.3 母版页 208
10.3.1 概述 208
10.3.2 创建母版页 209
10.3.3 母版页中放入网页的方法 212
10.4 小结 213
第11章 网站地图与页面导航 214
11.1 网站地图 214
11.1.1 定义网站地图 215
11.1.2 网站地图的简单实例 216
11.1.3 把站点文件绑定到普通页面 217
11.1.4 把站点文件绑定到母版页 218
11.1.5 绑定部分站点文件 219
11.1.6 站点文件操作的可编程性 222
11.2 导航控件 224
11.2.1 TreeView控件 224
11.2.2 Menu控件 226
11.2.3 SiteMapPath控件 229
11.3 小结 231
第12章 ADO.NET数据库访问技术 232
12.1 数据访问技术发展 232
12.1.1 微软数据访问组件 232
12.1.2 ADO、OLE DB或ODBC的关系 233
12.2 数据管理 233
12.2.1 数据库 233
12.2.2 数据访问 234
12.3 配置数据库 235
12.3.1 在Visual Studio中浏览和修改数据库 235
12.3.2 Sql命令行工具 237
12.4 基本的SQL 237
12.4.1 选择数据 237
12.4.2 插入数据 238
12.4.3 更新数据 239
12.4.4 删除数据 239
12.4.5 查询数据 239
12.5 ADO.NET 240
12.5.1 ADO.NET结构 240
12.5.2 ADO.NET命名空间 242
12.5.3 数据提供器类 242
12.6 直接数据访问 245
12.6.1 创建连接 246
12.6.2 Select命令 250
12.6.3 DataReader 250
12.7 不连接的数据访问 254
12.7.1 DataSet 254
12.7.2 以不连接的方式获取数据 259
12.8 小结 263
第13章 数据绑定 264
13.1 概述 264
13.1.1 ASP.NET数据绑定的类型 264
13.1.2 数据绑定的工作方式 265
13.2 单值绑定 265
13.2.1 简单示例 266
13.2.2 单值数据绑定的问题 269
13.2.3 单值数据绑定的替代方法 269
13.3 多值绑定 270
13.3.1 绑定列表控件 270
13.3.2 强类型集合 271
13.3.3 字典集合 273
13.4 数据源控件 275
13.4.1 SqlDataSource控件 276
13.4.2 SqlDataSource控件的属性 278
13.4.3 SqlDataSource控件的功能 279
13.4.4 使用SqlDataSource控件检索数据 280
13.4.5 使用参数 282
13.5 小结 286
第14章 数据控件 287
14.1 GridView控件 287
14.1.1 属性 287
14.1.2 方法 290
14.1.3 事件 290
14.1.4 在GridView控件中绑定数据 290
14.1.5 GridView控件的列 293
14.1.6 GridView控件的排序 294
14.1.7 GridView控件的分页 296
14.1.8 GridView控件的模板列 299
14.1.9 行的选取 300
14.1.10 GridView控件的数据操作 303
14.1.11 批量更新GridView控件中的数据 310
14.2 DetailsView控件 314
14.2.1 属性 314
14.2.2 方法 316
14.2.3 事件 317
14.2.4 在DetailsView控件中显示数据 317
14.2.5 在DetailsView控件中操作数据 319
14.3 FormView控件 321
14.4 ListView控件 322
14.4.1 属性 322
14.4.2 方法 323
14.4.3 事件 324
14.4.4 为ListView控件创建模板 325
14.5 Chart控件 328
14.6 小结 332
第15章 XML和文件操作 333
15.1 XML 333
15.1.1 XML概述 333
15.1.2 .NET中实现的XML DOM 339
15.1.3 DataSet与XML 344
15.1.4 XML数据绑定 346
15.2 文件操作 350
15.2.1 概述 350
15.2.2 文件基本操作 351
15.2.3 文件的I/O操作 352
15.2.4 文件上传 354
15.3 小结 357
第16章 LINQ数据库技术 358
16.1 概述 358
16.2 基于C#的LINQ 359
16.2.1 LINQ查询介绍 359
16.2.2 LINQ和泛型 361
16.2.3 基本查询操作 362
16.2.4 使用LINQ进行数据转换 363
16.3 LINQ到ADO.NET 367
16.3.1 LINQ到SQL的基础 367
16.3.2 对象模型的创建 368
16.3.3 查询数据库 371
16.3.4 更改数据库 373
16.4 LinqDataSource控件 375
16.5 QueryExtender控件 379
16.6 小结 381
第17章 Web服务 382
17.1 概述 382
17.1.1 互联网程序开发的过去和现在 382
17.1.2 Web服务和可编程Web 383
17.1.3 何时使用Web服务 384
17.1.4 Web服务的标准 384
17.2 Web服务的描述语言 385
17.2.1 <definitions>元素 385
17.2.2 <types>元素 386
17.2.3 <message>元素 386
17.2.4 <portType>元素 387
17.2.5 <binding>元素 387
17.2.6 <service>元素 388
17.3 SOAP 389
17.4 与Web服务交互 390
17.5 发现Web服务 391
17.5.1 DISCO标准 391
17.5.2 UDDI标准 391
17.6 创建Web服务 392
17.6.1 创建Web服务项目 392
17.6.2 创建Access数据库 394
17.6.3 创建Web服务中的方法 394
17.7 使用存在的Web服务 396
17.8 Web服务的方法返回定制的对象 399
17.9 小结 401
第18章 Web程序安全机制 402
18.1 安全需求 402
18.1.1 限制访问的文件类型 402
18.1.2 安全概念 403
18.2 ASP.NET安全模型 403
18.2.1 安全策略 405
18.2.2 表单认证 405
18.2.3 Windows认证 408
18.2.4 身份模拟 411
18.3 小结 413
第19章 ASP.NET AJAX应用 414
19.1 概述 414
19.1.1 优势 414
19.1.2 ASP.NET AJAX框架 415
19.1.4 一个ASP.NET AJAX程序 417
19.2 UpdatePanel控件 418
19.2.1 属性和方法 419
19.2.2 指定UpdatePanel控件的内容 420
19.2.3 指定UpdatePanel的触发器 420
19.2.4 UpdatePanel控件的刷新条件 421
19.2.5 嵌套使用UpdatePanel控件 422
19.2.6 以编程的方式刷新UpdatePanel控件 423
19.2.7 与Web服务综合应用 425
19.3 UpdateProgress控件 429
19.3.1 属性和方法 429
19.3.2 使用一个UpdateProgress控件 430
19.3.3 使用两个UpdateProgress控件 433
19.3.4 停止异步回送 436
19.3.5 UpdateProgress控件的显示规则 438
19.4 Timer控件 439
19.4.1 属性和方法 439
19.4.2 在UpdatePanel控件内部使用Timer控件 440
19.4.3 在UpdatePanel控件外部使用Timer控件 441
19.5 ScriptManager控件 444
19.5.1 属性和方法 446
19.5.2 控制部分页面刷新 448
19.5.3 错误处理 449
19.6 小结 452
第20章 ASP.NET MVC应用程序 453
20.1 概述 453
20.1.1 传统ASP.NET Web表单方案存在的问题 453
20.1.2 MVC 454
20.1.3 ASP.NET MVC 455
20.2 ASP.NET MVC应用程序 456
20.2.1 MVC应用程序结构 456
20.2.2 MVC应用程序的执行 459
20.2.3 应用程序中的模型 459
20.3 路由 460
20.3.1 定义路由 461
20.3.2 默认的路由 462
20.3.3 设置路由参数的默认值 463
20.3.4 处理包含未知URL片段数的URL请求 464
20.3.5 为匹配的URL添加约束条件 464
20.4 控制器 465
20.4.1 控制器类 465
20.4.2 行为方法 465
20.4.3 行为方法参数 466
20.4.4 自动映射行为方法参数 466
20.4.5 ActionResult返回类型 467
20.5 视图 468
20.5.1 使用视图渲染用户界面 468
20.5.2 视图页面 468
20.5.3 母版页视图 469
20.5.4 向视图传递数据 470
20.5.5 获取视图中的数据 470
20.5.6 在行为方法间传递状态 471
20.6 行为过滤器 472
20.6.1 Authorize过滤器 473
20.6.2 OutputCache过滤器 474
20.6.3 HandleError过滤器 475
20.6.4 自定义行为过滤器 476
20.7 案例讲解 478
20.7.1 创建应用程序 480
20.7.2 模型的实现 480
20.7.3 控制器的实现 487
20.7.4 视图的实现 489
20.8 小结 492
第21章 网络书店 493
21.1 功能分析 493
21.2 系统设计 494
21.2.1 系统模块的划分 494
21.2.2 系统框架设计 496
21.2.3 系统程序结构设计 502
21.2.4 数据库设计 504
21.3 数据访问和存储层的实现 509
21.3.1 ADO.NET数据访问组件 509
21.3.2 LINQ到SQL数据访问组件 514
21.4 业务逻辑层 516
21.4.1 Book类 516
21.4.2 Category类 518
21.4.3 Comment类 520
21.4.4 Cart类 523
21.4.5 Order类 524
21.4.6 Folders类和Mails类 525
21.4.7 User类 526
21.5 表示层的实现 528
21.5.1 书籍信息浏览功能 528
21.5.2 书籍评论功能 529
21.5.3 购物车功能 531
21.5.4 订单生成与修改功能 532
21.5.5 站内邮件功能 534
21.6 小结 535
第22章 在线RSS阅读器 536
22.1 RSS技术概述 536
22.1.1 发展历程 536
22.1.2 RSS的特点 537
22.1.3 RSS的用途 537
22.1.4 RSS阅读器 538
22.1.5 RSS文件 538
22.2 系统设计 539
22.2.1 功能分析 539
22.2.2 系统框架设计 539
22.2.3 软件结构设计 541
22.2.4 数据库设计 542
22.3 关键技术详解 542
22.4 系统实现 543
22.4.1 数据访问层的实现 543
22.4.2 业务逻辑层的实现 544
22.4.3 添加RSS频道 547
22.4.4 RSS频道管理 548
22.4.5 RSS文件查看 551
22.5 小结 552