第1章 .NET概述 1
1.1 .NET平台 1
1.1.1 .NET框架 1
1.1.2 ASP.NET 4
1.1.3 .NET开发工具 4
1.2 创建第一个.NET程序 9
1.2.1 创建第一个C#控制台程序 9
1.2.2 创建第一个ASP.NET Web应用程序 11
1.2.3 ASP.NET Web应用程序构成 14
1.3 实训1——通讯录案例简介 16
1.4 习题 17
第2章 C#语言基础 19
2.1 C#基础语法 19
2.1.1 数据类型 19
2.1.2 运算符与表达式 24
2.2 流程控制语句 25
2.2.1 选择语句 26
2.2.2 循环语句 27
2.3 C#面向对象编程 29
2.3.1 类与对象 29
2.3.2 类的成员 30
2.3.3 继承 35
2.3.4 分部类 38
2.4 泛型与集合 39
2.5 实训2——通讯录中的实体类 42
2.6 习题 45
第3章 建立ASP.NET页面 47
3.1 ASP.NET页面模型 47
3.1.1 单文件页面模型 47
3.1.2 代码隐藏页模型 51
3.1.3 页面运行机制 51
3.2 ASP.NET页面事件模型 53
3.2.1 事件模型概述 53
3.2.2 页面生命周期 56
3.3 ASP.NET服务器控件 57
3.3.1 服务器控件概述 57
3.3.2 常用服务器控件 58
3.3.3 验证控件 74
3.4 实训3——通讯录主页的实现 83
3.5 习题 87
第4章 为页面应用统一外观 89
4.1 主题和外观基础知识 89
4.2 创建主题 90
4.2.1 主题的组织方式和创建方法 90
4.2.2 创建外观 91
4.2.3 在主题中使用CSS文件 94
4.2.4 在主题中使用图像和其他资源 94
4.3 应用主题 97
4.3.1 为页面应用主题 97
4.3.2 为Web应用程序应用主题 99
4.3.3 以编程方式应用主题 99
4.4 实训4——设计通讯录的主题 103
4.5 习题 104
第5章 构建站点页面结构 107
5.1 母版页基础知识 107
5.1.1 母版页的结构 108
5.1.2 内容页的结构 109
5.1.3 母版页与内容页的关系 109
5.2 使用内容页和母版页 110
5.2.1 创建母版页 110
5.2.2 创建内容页 113
5.3 母版页的应用范围 114
5.4 母版页的嵌套 115
5.5 母版页与内容页的交互 120
5.5.1 从内容页访问母版页 120
5.5.2 从母版页访问内容页 123
5.6 编写程序动态应用母版页 126
5.7 实训5——设计通讯录的母版页 130
5.8 习题 132
第6章 使用数据源控件操纵数据 135
6.1 数据源控件简介 135
6.2 SqlDataSource控件 136
6.2.1 建立连接 136
6.2.2 执行操作 143
6.2.3 使用参数 147
6.2.4 响应事件 152
6.3 AccessDataSource控件 154
6.4 ObjectDataSource控件 156
6.5 实训6——通讯录两层体系结构的实现 160
6.6 习题 163
第7章 使用ADO.NET对象操纵数据 165
7.1 ADO.NET基础知识 165
7.2 连接数据库 167
7.2.1 连接字符串 168
7.2.2 建立连接 170
7.3 执行SQL语句和存储过程 172
7.3.1 执行SQL语句 173
7.3.2 执行存储过程 176
7.3.3 使用参数 178
7.4 获取数据 181
7.4.1 使用DataReader获取数据 181
7.4.2 使用DataSet获取数据 184
7.5 实训7——通讯录三层体系结构的数据访问层与业务逻辑层的实现 198
7.6 习题 203
第8章 使用数据绑定控件显示数据 205
8.1 数据绑定概述 205
8.1.1 数据绑定基础知识 205
8.1.2 绑定列表类服务器控件 207
8.2 GridView控件 210
8.2.1 使用GridView控件显示数据 210
8.2.2 分页显示数据 211
8.2.3 使用GridView控件编辑数据 214
8.2.4 使用GridView控件选择数据 220
8.2.5 定制GridView控件 222
8.3 DetailsView控件 226
8.3.1 使用Details View控件显示和编辑数据 227
8.3.2 使用DetailsView控件插入和删除数据 228
8.4 FormView控件 230
8.4.1 模板的基本知识 230
8.4.2 创建模板 232
8.4.3 利用模板显示数据 233
8.4.4 利用模板编辑和插入数据 234
8.4.5 切换模式 234
8.5 ListView控件 237
8.5.1 使用ListView控件显示数据 237
8.5.2 使用ListView控件编辑数据 241
8.6 实训8——使用数据绑定控件实现联系人管理 242
8.7 习题 247
第9章 站点导航 250
9.1 站点地图 250
9.1.1 站点地图基础知识 250
9.1.2 使用SiteMapDataSource控件获取站点地图的数据 253
9.2 使用SiteMapPath控件显示导航路径 254
9.2.1 创建导航路径 254
9.2.2 定制导航路径 254
9.3 使用Menu控件显示菜单 256
9.3.1 创建菜单 257
9.3.2 定制菜单 260
9.3.3 响应菜单事件 264
9.4 显示树状结构的菜单 264
9.4.1 TreeView控件概述 264
9.4.2 创建树状菜单 265
9.4.3 定制树状菜单 266
9.5 传统导航方式 269
9.6 实训9——通讯录导航系统的实现 269
9.7 习题 271
第10章 LINQ 273
10.1 LINQ基础知识 273
10.2 LINQ to Objects 274
10.2.1 LINQ基本知识 274
10.2.2 from子句 276
10.2.3 select子句 276
10.2.4 where子句 277
10.2.5 联接 280
10.3 LINQ to SQL 282
10.3.1 LINQ to SQL基础知识 282
10.3.2 LINQ to SQL对象模型 283
10.3.3 使用LINQ to SQL访问数据库 289
10.4 LinqDataSource控件 292
10.4.1 使用LinqDataSource控件显示数据 292
10.4.2 使用LinqDataSource控件编辑数据 294
10.5 实训10——通讯录三层体系结构的LINQ实现 295
10.6 习题 297
第11章 状态维护 299
11.1 状态维护概述 299
11.2 回发和跨页发送 302
11.2.1 回发 302
11.2.2 跨页发送 303
11.3 视图状态与控件状态 305
11.4 Cookie 307
11.5 应用程序状态 310
11.6 会话状态 312
11.7 习题 314
第12章 ASP.NETAJAX 316
12.1 ASP.NET AJAX基础知识 316
12.1.1 什么是AJAX 316
12.1.2 ASP.NET AJAX框架 317
12.2 使用ASP.NET AJAX服务器控件 318
12.2.1 ScriptManager控件 318
12.2.2 UpdatePanel控件 321
12.2.3 UpdateProgress控件 328
12.2.4 Timer控件 331
12.3 使用客户端脚本库 334
12.3.1 类型系统 334
12.3.2 客户端生命周期事件 334
12.3.3 DOM元素引发的事件 335
12.4 习题 337
第13章 通讯录综合实例 340
13.1 通讯录系统设计 340
13.1.1 系统总体设计 340
13.1.2 数据库设计 341
13.1.3 系统体系结构设计 342
13.1.4 解决方案 343
13.2 创建实体类 344
13.3 实现数据访问层 345
13.4 实现业务逻辑层 349
13.5 实现表示层 351
13.5.1 母版页 351
13.5.2 导航系统 352
13.5.3 主题与外观 353
13.5.4 主页 355
13.5.5 联系人管理 356
13.5.6 编辑联系人 358
13.5.7 添加联系人 360
13.5.8 移动联系人 362
13.5.9 查询 364
13.5.10 组管理 365
附录A 题答案 367