第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 组件技术 4
1.2 .NET框架 4
1.2.1 .NET框架的发展历程 5
1.2.2 .NET语言 6
1.2.3 公共语言运行时 7
1.2.4 动态语言运行时 7
1.2.5 .NET类库 8
1.2.6 Visual Studio 8
1.3 .NET 4.5 8
1.3.1 ASP.NET MVC 4.0 8
1.3.2 ASP.NET Web Forms 4.5 9
1.3.3 ASP.NET Web Deployment 4.5 9
1.4 小结 10
第2章 Visual Studio 2012开发环境 11
2.1 安装 11
2.2 创建Web项目 14
2.3 Web项目管理 15
2.4 Visual Studio 2012新特性 18
2.4.1 支持开发Windows 8程序 19
2.4.2 加强网页开发功能 19
2.4.3 新的团队开发功能 20
2.5 小结 20
第3章 ASP.NET Web编程原理 21
3.1 ASP.NET应用程序的构成 21
3.1.1 文件类型 22
3.1.2 文件夹类型 23
3.2 服务器控件 24
3.2.1 HTML服务器控件 24
3.2.2 Web控件 24
3.3 ASPX页面代码模式 25
3.3.1 页面类 25
3.3.2 网页代码存储模式 26
3.4 Application事件 28
3.4.1 Globe .asax文件 28
3.4.2 Application事件种类 29
3.5 ASP.NET应用程序配置 30
3.5.1 ASP.NET程序配置文件 31
3.5.2 Web.config配置文件 31
3.5.3 网站管理工具 35
3.6 小结 36
第4章 C#语言程序设计 37
4.1 概述 37
4.1.1 编写C#源代码 37
4.1.2 大小写的敏感性 39
4.1.3 注释 39
4.1.4 语句终止符 39
4.1.5 语句块 40
4.2 数据类型 40
4.2.1 常用数据类型 40
4.2.2 其他数据类型 40
4.3 常量和变量 46
4.3.1 常量 46
4.3.2 变量444 46
4.3.3 隐型局部变量 48
4.4 数据运算 48
4.4.1 数值运算 49
4.4.2 字符串运算 49
4.5 语句 50
4.5.1 条件语句 50
4.5.2 循环语句 52
4.6 方法 54
4.6.1 方法重载 54
4.6.2 扩展方法 55
4.6.3 委托 57
4.7 类、对象和结构 59
4.7.1 结构 59
4.7.2 类 60
4.7.3 对象 63
4.8 Lambda表达式 63
4.8.1 匿名方法 63
4.8.2 Lambda表达式基础 64
4.8.3 Lambda表达式的格式 66
4.8.4 Lambda表达式树 66
4.9 对象和集合初始化器 67
4.9.1 对象初始化器 68
4.9.2 集合初始化器 69
4.10 匿名类型 69
4.11 C# 5.0的新特性 70
4.11.1 全新的异步编程模型 70
4.11.2 调用方信息 71
4.12 小结 73
第5章 Web控件 74
5.1 基本的Web控件 74
5.2 Web控件类概述 75
5.2.1 Web控件的基本属性 77
5.2.2 单位 78
5.2.3 枚举 79
5.2.4 颜色 79
5.2.5 字体 79
5.3 文本服务器控件 80
5.3.1 Label控件 80
5.3.2 Texbox控件 80
5.3.3 HyperLink控件 82
5.4 按钮服务器控件 84
5.4.1 Button控件 85
5.4.2 LinkButton控件 85
5.4.3 ImageButton控件 86
5.5 图像服务器控件 87
5.5.1 Image控件 87
5.5.2 ImageMap控件 87
5.6 列表控件 89
5.6.1 ListBox 89
5.6.2 DropDownList 91
5.6.3 CheckBoxList 93
5.6.4 RadioButtonList 94
5.6.5 BulletedList 96
5.7 表控件 97
5.7.1 表控件对象模型 98
5.7.2 向页面中添加表控件 99
5.7.3 动态操作表控件 100
5.8 Web控件的事件 103
5.8.1 Web控件的事件模型 103
5.8.2 Web控件事件的绑定 104
5.9 小结 104
第6章 内置对象 105
6.1 Response对象 105
6.1.1 Response对象的属性 106
6.1.2 Response对象的方法 107
6.1.3 Response对象的应用举例 108
6.2 Request对象 110
6.2.1 Request对象的属性 110
6.2.2 Request对象的方法 111
6.3 Server对象 112
6.3.1 Server对象的属性 112
6.3.2 Server对象的方法 112
6.3.3 Server对象的应用举例 113
6.4 ViewState对象 115
6.4.1 概述 115
6.4.2 ViewState的安全机制 116
6.4.3 保留成员变量 117
6.4.4 存储自定义对象 118
6.4.5 传递信息 119
6.5 Cookies对象 122
6.5.1 概述 123
6.5.2 Cookies对象的属性 123
6.5.3 Cookies对象的方法 124
6.5.4 Cookies对象的使用 124
6.5.5 Cookies对象的应用举例 126
6.6 Session对象 127
6.6.1 概述 127
6.6.2 Session跟踪 128
6.6.3 Session对象的属性 128
6.6.4 Session对象的方法 128
6.6.5 Session对象的使用 129
6.6.6 Session的应用举例 129
6.6.7 Session的存储 130
6.7 Application对象 133
6.7.1 Application对象的属性 133
6.7.2 Application对象的方法 133
6.7.3 Application对象的应用举例 134
6.8 小结 135
第7章 输入验证 136
7.1 概述 136
7.1.1 验证控件的使用 136
7.1.2 何时进行验证 137
7.1.3 验证多个条件 137
7.1.4 显示错误信息 137
7.1.5 验证对象模型 137
7.2 验证控件 138
7.2.1 RequiredFieldValidator控件 138
7.2.2 CompareValidator控件 139
7.2.3 RangeValidator控件 141
7.2.4 RegularExpressionValidator控件 142
7.2.5 CustomValidator控件 143
7.3 定制验证控件 145
7.4 综合实例 151
7.5 小结 154
第8章 Rich控件 155
8.1 Calendar控件 155
8.1.1 属性和方法 156
8.1.2 Calendar控件的外观设置 158
8.1.3 Calendar控件编程 162
8.2 AdRotator控件 165
8.2.1 属性和方法 165
8.2.2 从数据源中读取广告信息 166
8.2.3 显示和跟踪广告 169
8.3 MultiView和View控件 171
8.3.1 属性和方法 172
8.3.2 应用举例 173
8.4 Wizard控件 174
8.4.1 属性和方法 174
8.4.2 Wizard控件的应用 176
8.5 小结 178
第9章 用户控件和页面绘图 179
9.1 用户控件 179
9.1.1 概述 179
9.1.2 创建用户控件 180
9.1.3 用户控件的使用 184
9.1.4 用户控件事件 187
9.2 页面绘图 188
9.2.1 绘图的基本知识 188
9.2.2 绘制随机码图片 190
9.2.3 绘制汉字验证码 192
9.2.4 图片的格式和质量 194
9.3 小结 198
第10章 样式、主题和母版页 199
10.1 样式 199
10.1.1 样式的作用 200
10.1.2 样式的种类 200
10.1.3 样式的语法 201
10.1.4 使用样式 205
10.1.5 样式创建器 207
10.1.6 CSS属性窗口 209
10.1.7 创建和应用样式文件 210
10.2 主题 211
10.2.1 概述 212
10.2.2 主题的创建 214
10.2.3 主题的应用 215
10.2.4 SkinID的应用 217
10.2.5 主题的禁用 218
10.3 母版页 218
10.3.1 概述 218
10.3.2 创建母版页 219
10.3.3 使用母版创建网页 221
10.4 小结 223
第11章 网站地图与页面导航 224
11.1 网站地图 224
11.1.1 定义网站地图 225
11.1.2 网站地图的简单实例 227
11.1.3 绑定站点文件到普通页面 227
11.1.4 绑定站点文件到母版页 228
11.1.5 绑定部分站点文件 229
11.1.6 站点文件操作的可编程性 232
11.2 导航控件 235
11.2.1 TreeView控件 235
11.2.2 Menu控件 237
11.2.3 SiteMapPath控件 240
11.3 小结 241
第12章 ADO.NET数据库访问技术 242
12.1 数据访问技术发展 242
12.1.1 微软数据访问组件 242
12.1.2 ADO、 OLE DB和ODBC的关系 243
12.2 数据管理 243
12.2.1 数据库 244
12.2.2 数据访问 245
12.3 配置数据库 245
12.3.1 在Visual Studio中浏览和修改数据库 245
12.3.2 SQL命令行工具 246
12.4 基本的SQL 247
12.4.1 选择数据 247
12.4.2 插入数据 249
12.4.3 更新数据 249
12.4.4 删除数据 249
12.4.5 查询数据 250
12.5 ADO.NET 250
12.5.1 ADO.NET结构 251
12.5.2 ADO.NET命名空间 252
12.5.3 数据提供器类 253
12.6 直接数据访问 255
12.6.1 创建连接 256
12.6.2 Select命令 261
12.6.3 DataReader 261
12.7 不连接的数据访问 265
12.7.1 DataSet 266
12.7.2 以不连接的方式获取数据 271
12.8 小结 274
第13章 数据绑定 275
13.1 概述 275
13.2 数据的简单绑定 276
13.2.1 绑定到变量 276
13.2.2 绑定到表达式 277
13.2.3 绑定到集合 278
13.2.4 绑定到方法的结果 279
13.3 数据的复杂绑定 280
13.3.1 绑定到DataSet 281
13.3.2 绑定到数据库 282
13.4 数据源控件 283
13.4.1 SqlDataSource控件 285
13.4.2 SqlDataSource控件的属性 287
13.4.3 SqlDataSource控件的功能 289
13.4.4 使用SqlDataSource控件检索数据 290
13.4.5 使用参数 292
13.5 小结 296
第14章 数据控件 297
14.1 GridView控件 297
14.1.1 属性 298
14.1.2 方法 300
14.1.3 事件 300
14.1.4 在GridView控件中绑定数据 301
14.1.5 GridView控件的列 303
14.1.6 GridView控件的排序 304
14.1.7 GridView控件的分页 307
14.1.8 GridView控件的模板列 310
14.1.9 行的选取 311
14.1.10 GrodView控件的数据操作 314
14.1.11 批量更新GridView控件中的数据 322
14.2 DetailsView控件 327
14.2.1 属性 327
14.2.2 方法 329
14.2.3 事件 329
14.2.4 在DetailsView控件中显示数据 330
14.2.5 在DetailsView控件中操作数据 331
14.3 FormView控件 334
14.4 ListView控件 334
14.4.1 属性 335
14.4.2 方法 336
14.4.3 事件 337
14.4.4 为ListView控件创建模板 338
14.5 Chart控件 340
14.6 小结 345
第15章 XML和文件操作 346
15.1 XML 346
15.1.1 XML概述 346
15.1.2 .NET中实现的XML DOM 352
15.1.3 DataSet与XML 357
15.1.4 XML数据绑定 360
15.2 文件操作 364
15.2.1 概述 364
15.2.2 文件基本操作 365
15.2.3 文件的I/O操作 366
15.2.4 文件上传 368
15.2.5 文件下载 370
15.3 小结 376
第16章 LINQ数据库技术 377
16.1 概述 377
16.2 基于C#的LINQ 378
16.2.1 LINQ查询介绍 378
16.2.2 LINQ和泛型 380
16.2.3 基本查询操作 381
16.2.4 使用LINQ进行数据转换 383
16.3 LINQ到ADO.NET 387
16.3.1 LINQ到SQL的基础 387
16.3.2 对象模型的创建 388
16.3.3 查询数据库 390
16.3.4 更改数据库 392
16.4 LinqDataSource控件 395
16.5 QueryExtender控件 398
16.6 小结 401
第17章 Web服务 402
17.1 概述 402
17.1.1 互联网程序开发的过去和现在 402
17.1.2 Web服务和可编程Web 403
17.1.3 何时使用Web服务 404
17.1.4 Web服务的标准 404
17.2 Web服务的描述语言 405
17.2.1 〈definitions〉元素 405
17.2.2 〈types〉元素 406
17.2.3 〈message〉元素 407
17.2.4 〈portType〉元素 407
17.2.5 〈binding〉元素 408
17.2.6 〈service〉元素 409
17.3 SOAP 409
17.4 与Web服务交互 411
17.5 发现Web服务 412
17.5.1 DISCO标准 412
17.5.2 UDDI标准 412
17.6 创建Web服务 413
17.6.1 创建Web服务项目 413
17.6.2 创建Access数据库 415
17.6.3 创建Web服务中的方法 415
17.7 使用存在的Web服务 417
17.8 Web服务的方法返回定制的对象 420
17.9 小结 422
第18章 Web程序安全机制 423
18.1 安全需求 423
18.1.1 限制访问的文件类型 423
18.1.2 安全概念 424
18.2 ASP.NET安全模型 424
18.2.1 安全策略 426
18.2.2 表单认证 426
18.2.3 Windows认证 430
18.2.4 身份模拟 433
18.3 小结 435
第19章 ASP.NETAJAX应用 436
19.1 概述 436
19.1.1 优势 437
19.1.2 ASP.NET AJAX框架 437
19.1.3 ASP.NET AJAX程序 439
19.2 UpdatePanel控件 439
19.2.1 属性和方法 441
19.2.2 指定UpdatePanel控件的内容 441
19.2.3 指定UpdatePanel的触发器 441
19.2.4 UpdatePanel控件的刷新条件 443
19.2.5 嵌套使用UpdatePanel控件 443
19.2.6 以编程的方式刷新UpdatePanel控件 445
19.2.7 与Web服务综合应用 446
19.3 UpdateProgress控件 451
19.3.1 属性和方法 451
19.3.2 使用一个UpdateProgress控件 453
19.3.3 使用两个UpdateProgress控件 455
19.3.4 停止异步回送 458
19.3.5 UpdateProgress控件的显示规则 461
19.4 Timer控件 462
19.4.1 属性和方法 463
19.4.2 在UpdatePanel控件内部使用Timer控件 463
19.4.3 在UpdatePanel控件外部使用Timer控件 465
19.5 ScriptManager控件 468
19.5.1 属性和方法 470
19.5.2 控制部分页面刷新 472
19.5.3 错误处理 473
19.6 小结 476
第20章 ASP.NET MVC应用程序 477
20.1 概述 477
20.1.1 传统ASP.NET Web表单方案存在的问题 477
20.1.2 MVC 478
20.1.3 ASP.NET MVC 479
20.2 ASP.NET MVC应用程序 480
20.2.1 MVC应用程序结构 481
20.2.2 MVC应用程序的执行 483
20.2.3 应用程序中的模型 484
20.3 路由 484
20.3.1 定义路由 485
20.3.2 默认的路由 487
20.3.3 设置路由参数的默认值 488
20.3.4 处理包含未知URL片段数的URL请求 489
20.3.5 为匹配的URL添加约束条件 489
20.4 控制器 490
20.4.1 控制器类 490
20.4.2 行为方法 491
20.4.3 行为方法参数 491
20.4.4 自动映射行为方法参数 492
20.4.5 ActionResult返回类型 493
20.5 视图 493
20.5.1 使用视图渲染用户界面 493
20.5.2 视图页面 494
20.5.3 母版页视图 494
20.5.4 向视图传递数据 495
20.5.5 获取视图中的数据 496
20.5.6 在行为方法间传递状态 497
20.6 行为过滤器 498
20.6.1 Authorize过滤器 499
20.6.2 OutputCache过滤器 500
20.6.3 HandleError过滤器 502
20.6.4 自定义行为过滤器 503
20.7 案例讲解 505
20.7.1 创建应用程序 506
20.7.2 模型的实现 507
20.7.3 控制器的实现 515
20.7.4 视图的实现 517
20.8 小结 521
第21章 网络书店 522
21.1 功能分析 522
21.2 系统设计 523
21.2.1 系统模块的划分 523
21.2.2 系统框架设计 525
21.2.3 系统程序结构设计 531
21.2.4 数据库设计 532
21.3 数据访问和存储层的实现 538
21.3.1 ADO.NET数据访问组件 538
21.3.2 LINQ到SQL数据访问组件 543
21.4 业务逻辑层 545
21.4.1 Book类 546
21.4.2 Category类 548
21.4.3 Comment类 550
21.4.4 Cart类 553
21.4.5 Order类 554
21.4.6 Folders类和Mails类 556
21.4.7 User类 557
21.5 表示层的实现 559
21.5.1 书籍信息浏览功能 559
21.5.2 书籍评论功能 560
21.5.3 购物车功能 562
21.5.4 订单生成与修改功能 564
21.5.5 站内邮件功能 566
21.6 小结 567
第22章 在线RSS阅读器 568
22.1 RSS技术概述 568
22.1.1 发展历程 568
22.1.2 RS S的特点 569
22.1.3 RSS的用途 569
22.1.4 RSS阅读器 570
22.1.5 RSS文件 570
22.2 系统设计 571
22.2.1 功能分析 571
22.2.2 系统框架设计 571
22.2.3 软件结构设计 573
22.2.4 数据库设计 574
22.3 关键技术详解 574
22.4 系统实现 576
22.4.1 数据访问层的实现 576
22.4.2 业务逻辑层的实现 576
22.4.3 添加RSS频道 580
22.4.4 RSS频道管理 581
22.4.5 RSS文件查看 585
22.5 小结 585