第1篇 从零开始 2
第0章 First Things First 2
0.1 基础概念 2
0.1.1 什么是网页 2
0.1.2 网页开发技术 3
0.1.3 Web开发相关技术 4
0.2 搭建开发环境 5
0.2.1 安装Visual Studio 2005 6
0.2.2 Visual Studio 2005简介 6
0.2.3 实现第一个ASP.NET程序 7
0.3 C# 2.0语言基础 9
0.3.1 简介 9
0.3.2 数据类型 10
0.3.3 变量和常量 14
0.3.4 运算符 15
0.3.5 流程控制 18
0.4 编码规范 23
0.4.1 好的编码结构 23
0.4.2 好的注释风格 24
0.4.3 好的命名规范 25
0.4.4 避免文件过大 26
承上启下 27
第1章 走进ASP.NET 2.0 28
1.1 ASP.NET 2.0概述 28
1.1.1 动态页面工作原理 29
1.1.2 ASP.NET 2.0——动态页面开发利器 30
1.1.3 ASP.NET 2.0的优点 31
1.1.4 用IIS管理ASPX页面 31
1.2 ASP.NET 2.0动态页面 33
1.2.1 剖析ASPX页面 33
1.2.2 使用〈%...%〉嵌入代码 34
1.2.3 使用〈script〉...〈/script〉嵌入代码 36
1.2.4 使用〈%--...--%〉注释代码 38
1.2.5 使用〈%@CodeFile=...%〉绑定代码 38
1.2.6 使用〈%@Page...%〉设置页面属性 40
1.2.7 使用〈%@Import%〉引入类库 41
1.3 服务器控件事件 41
1.3.1 添加服务器控件 41
1.3.2 用事件响应页面动作 42
1.3.3 将事件绑定到方法 43
1.3.4 页面加载事件 44
承上启下 44
第2章 类、对象和命名空间 46
2.1 类和对象 46
2.1.1 面向对象编程 46
2.1.2 创建和实例化类 48
2.1.3 类的继承机制 50
2.1.4 使用Class View窗口 51
2.1.5 使用Object Browser 52
2.2 类的成员 52
2.2.1 域和属性 52
2.2.2 静态属性 54
2.2.3 重载属性 56
2.3 类的方法 56
2.3.1 声明类的方法 57
2.3.2 方法的参数 57
2.3.3 使用构造函数 59
2.3.4 使用析构函数 60
2.3.5 使用静态方法 60
2.3.6 重载方法 61
2.3.7 访问父类方法 62
2.3.8 重载运算符 63
2.4 命名控件和.NET类库 65
2.4.1 使用命名空间 65
2.4.2 .NET基础类库框架 66
承上启下 67
第3章 ASP.NET核心对象 69
3.1 Page类 69
3.1.1 Page类概述 69
3.1.2 探索页面生命周期 70
3.2 ASP.NET核心对象 73
3.2.1 利用Response输出信息 73
3.2.2 利用Request获取页面输入 74
3.2.3 利用Server获取服务器信息 77
3.3 共享数据 79
3.3.1 利用Application共享数据 79
3.3.2 使用Global.asax文件 81
3.3.3 利用Session共享数据 82
3.3.4 利用Session验证用户 84
承上启下 85
第4章 字符串 87
4.1 字符串String 87
4.1.1 比较字符串 87
4.1.2 判定首尾字符串 90
4.1.3 判断是否包含子串 90
4.1.4 定位字符和子串 90
4.1.5 格式化字符串 92
4.1.6 连接字符串 92
4.1.7 拆分字符串 93
4.1.8 插入字符串 94
4.1.9 填充字符串 94
4.1.10 删除字符串 95
4.1.11 复制字符串 95
4.1.12 替换字符串 96
4.1.13 更改大小写 96
4.2 动态串StringBuilder 97
4.2.1 比较String 97
4.2.2 设置容量 98
4.2.3 追加字符串 98
4.2.4 插入字符串 99
4.2.5 删除字符串 99
4.2.6 替换字符串 99
4.3 正则表达式Regex 100
4.3.1 正则表达式简介 100
4.3.2 构造正则表达式 101
4.3.3 使用Regex类 102
4.4 字符编码 103
4.4.1 字符编码概述 104
4.4.2 字符编码类 105
承上启下 107
第5章 数组和集合 109
5.1 数组 109
5.1.1 什么是数组 109
5.1.2 创建数组 111
5.1.3 数组基类Array 112
5.1.4 访问数组元素 113
5.1.5 转化元素类型 114
5.1.6 遍历数组元素 115
5.1.7 排序数组元素 116
5.1.8 查找数组元素 118
5.1.9 反转数组元素 119
5.1.10 复制数组 120
5.2 集合 121
5.2.1 什么是集合 122
5.2.2 列表类ArrayList 122
5.2.3 创建列表 123
5.2.4 遍历列表 123
5.2.5 添加元素 125
5.2.6 插入元素 125
5.2.7 删除元素 126
5.2.8 简单排序 127
5.2.9 复杂排序 127
5.2.10 查找元素 128
5.3 队列 129
5.3.1 什么是队列 129
5.3.2 队列类Queue 129
5.3.3 创建队列 130
5.3.4 元素入队 130
5.3.5 元素出队 131
5.4 堆栈 132
5.4.1 什么是堆栈 132
5.4.2 堆栈类Stack 132
5.4.3 创建堆栈 132
5.4.4 元素入栈 133
5.4.5 元素出栈 133
承上启下 134
第6章 调试和异常处理 135
6.1 程序调试技术 135
6.1.1 调试语法错误 135
6.1.2 调试逻辑错误 135
6.2 异常处理机制 138
6.2.1 异常类Exception 139
6.2.2 使用try-catch处理异常 139
6.2.3 异常处理的原则 141
承上启下 142
第2篇 控件开发 144
第7章 标准服务器控件 144
7.1 WebControls概述 144
7.1.1 什么是服务器控件 144
7.1.2 WebControls空间 145
7.2 输入控件 147
7.2.1 按钮Button 147
7.2.2 文本框TexBox 151
7.2.3 复选框CheckBox 153
7.2.4 单选按钮RadioButton 155
7.2.5 超级链接HyperLink 156
7.2.6 链接按钮LinkButton 158
7.2.7 图像Image 160
7.2.8 图像按钮ImageButton 161
7.2.9 图像热区ImageMap 162
7.2.10 项列表BulletedList 164
7.3 列表控件 165
7.3.1 下拉框DropDownList 166
7.3.2 列表框ListBox 168
7.3.3 复选框列表CheckBoxList 170
7.3.4 单选按钮列表RadioButtonList 172
7.4 容器控件 173
7.4.1 面板Panel 173
7.4.2 表格Table 176
7.5 其他控件 180
7.5.1 广告栏AdRotator 180
7.5.2 日历Calendar 182
承上启下 185
第8章 HTML服务器控件 186
8.1 HtmlControls概述 186
8.1.1 比较标准控件 186
8.1.2 HtmlControls空间 187
8.2 输入控件HtmlInput 188
8.2.1 按钮HtmlInputButton 188
8.2.2 单行文本框HtmlInputText 191
8.2.3 多行文本框HtmlTextArea 192
8.2.4 隐藏文本框HtmlInputHidden 193
8.2.5 文件框HtmlInputFile 195
8.2.6 复选框HtmlInputCheckBox 197
8.2.7 单选框HtmlInputRadioButton 199
8.3 容器空间HtmlContainer 200
8.3.1 表格HtmlTable 201
8.3.3 列表框/下拉框控件HtmlSelect 203
8.4 图像控件HtmlImage 207
承上启下 209
第9章 数据验证控件 210
9.1 概述 210
9.2 验证控件 211
9.2.1 必填验证控件RequiredFieldValidator 211
9.2.2 比较验证控件CompareValidator 213
9.2.3 范围验证控件RangeValidator 216
9.2.4 正则验证控件RegularExpressionValidator 217
9.2.5 自定义验证控件CustomValidator 219
9.2.6 验证摘要控件ValidationSummary 222
9.3 注册页面示例 224
承上启下 227
第10章 用户控件 228
10.1 概述 228
10.1.1 什么是用户控件 228
10.1.2 何时使用用户控件 229
10.2 使用用户控件 229
10.2.1 创建用户控件 229
10.2.2 添加用户控件 230
10.2.3 定义用户控件属性 231
10.2.4 定义用户控件事件 232
10.2.5 比较Web页面 233
承上启下 233
第3篇 数据操作 235
第11章 ADO.NET 235
11.1 概述 235
11.1.1 ADO.NET的功能 235
11.1.2 ADO.NET基本结构 236
11.1.3 System.Data空间 236
11.2 连接数据库 237
11.2.1 SqlConnection类 237
11.2.2 连接数据库 239
11.2.3 使用Web.config配置连接 239
11.2.4 断开数据库 240
11.3 操作数据库 241
11.3.1 SqlCommand类 241
11.3.2 查询数据 242
11.3.3 SqlDataReader类 243
11.3.4 操作数据 245
11.4 内存数据对象 245
11.4.1 SqlDataAdapter类 246
11.4.2 DataSet类 248
11.4.3 DataTable类 250
11.5 SQL基础 254
11.5.1 SQL基础 254
11.5.2 创建数据库CREATE DATABASE 255
11.5.3 删除数据库DROP DATABASE 255
11.5.4 创建表CTEATE TABLE 256
11.5.5 修改表UPDATE TABLE 257
11.5.6 删除表DROP TABLE 259
11.5.7 插入数据INSERT 259
11.5.8 修改数据UPDATE 260
11.5.9 删除数据DELETE 260
11.5.10 SQL简单查询 260
11.5.11 使用GROUP BY对结果分组 264
11.5.12 使用DISTINCT对结果去重 264
11.5.13 使用ORDER BY对结果排序 265
11.5.14 使用函数和表达式 265
11.5.15 使用运算符 266
承上启下 266
第12章 数据控件 267
12.1 概述 267
12.2 网格视图GridView 268
12.2.1 认识GridView 268
12.2.2 GridView中的列类型 269
12.2.3 自动生成数据列 270
12.2.4 使用BoundField列显示数据 274
12.2.5 使用CommanField列编辑数据 276
12.2.6 使用CommanField列删除数据 278
12.2.7 使用CommandField列选择数据 280
12.2.8 使用HyperLinkField列链接数据 281
12.2.9 使用ButtonField列灵活操作数据 283
12.2.10 分页浏览数据 285
12.3 列表控件 286
12.3.1 把DataSet绑定到DropDownList 287
12.3.2 把DataReader绑定到ListBox 289
12.3.3 把DataTable绑定到CheckBoxList 290
12.3.4 把HashTable绑定到RadioButtonList 291
承上启下 293
第13章 XML数据操作 295
13.1 .NET框架中的XML 295
13.1.1 什么是XML 295
13.1.2 XML文档对象模型DOM 296
13.1.3 System.Xml命名空间 297
13.2 读取XML 297
13.2.1 使用XmlDocument读取XML 298
13.2.2 使用XmlReader读取XML 298
13.2.3 使用XmlNode读取节点 302
13.3 查询XML 304
13.3.1 基本XPath表达式 304
13.3.2 限定查询范围 304
13.3.3 使用函数设置查询条件 305
13.3.4 使用运算符设置查询条件 306
13.3.5 使用通配符模糊匹配 306
13.3.6 综合示例 306
13.4 修改XML 308
13.4.1 创建新DOM节点 308
13.4.2 创建DOM节点属性 309
13.4.3 修改DOM节点 310
13.4.4 删除DOM节点 310
13.4.5 保存DOM树 312
13.5 与DataSet交互 312
13.5.1 使用DataSet加载XML数据 312
13.5.2 使用XmlDataDocument加载关系数据 314
承上启下 315
第14章 文件操作 317
14.1 操作文件 317
14.1.1 创建文件 318
14.1.2 复制文件 318
14.1.3 重命名文件 318
14.1.4 删除文件 318
14.2 读写文件 319
14.2.1 使用StreamWriter写入文件 319
14.2.2 使用SteamReader读取文件 320
承上启下 321
第4篇 网站设计 324
第15章 母版页 324
15.1 静态母版页 324
15.1.1 创建母版页 324
15.1.2 向母版页添加控件 326
15.1.3 使用母版创建内容页 327
15.1.4 挖掘母版页的机制 328
15.2 与母版页交互 329
15.2.1 母版页和内容页的生命周期 329
15.2.2 母版页内部的控件事件 331
15.2.3 在母版页中访问内容页控件 332
15.2.4 在内容页中访问母版页控件 333
15.3 动态选择母版页 334
承上启下 336
第16章 站点导航系统 338
16.1 ASP.NET导航系统概述 338
16.1.1 导航概述 338
16.1.2 从网站到导航控件 339
16.2 站点地图SiteMap 340
16.2.1 SiteMap概述 340
16.2.2 用SiteMapNode构造SiteMap 341
16.2.3 用SiteMapProvider提供数据 341
16.2.4 用默认SiteMapProvider提供数据 342
16.2.5 用个性配置SiteMapProvider提供数据 346
16.3 导航控件 347
16.3.1 使用SiteMapPath导航 348
16.3.2 使用TreeView导航 350
16.3.3 使用Menu导航 352
16.4 可编程导航 354
16.4.1 为网站配置多个SiteMapProvider 354
16.4.2 用XML创建TreeView 356
16.4.3 用XML创建Menu 358
承上启下 360
第17章 样式和主题 361
17.1 样式表CSS 361
17.1.1 什么是CSS 361
17.1.2 指定HTML元素的样式 361
17.1.3 指定HTML服务器控件样式 363
17.1.4 指定标准服务器控件样式 364
17.1.5 CSS的基本语法 365
17.1.6 利用VS2005创建样式表 369
17.2 主题和外观 370
17.2.1 什么是主题和外观 370
17.2.2 建立主题和外观 371
17.2.3 为所有页面指定主题 373
17.2.4 为特定页面指定主题 373
17.2.5 为特定控件指定主题 374
17.2.6 动态指定主题和外观 374
承上启下 375
第18章 Web Part 377
18.1 概述 377
18.1.1 先睹为快 377
18.1.2 认识Web Part 378
18.1.3 页面管家WebPartManager 379
18.1.4 用户数据库配置 380
18.2 个性化设置页面 380
18.2.1 使用WebPartZone划分页面 380
18.2.2 个性化设置页面布局 383
18.2.3 向页面添加Web Part控件 385
18.2.4 编辑Web Part控件的属性 388
18.3 Web Part之间的通信 390
承上启下 392
第19章 成员和角色管理 394
19.1 成员服务 394
19.1.1 成员服务概述 394
19.1.2 Membership类 395
19.1.3 创建新用户 396
19.1.4 验证用户身份 401
19.1.5 MembershipUser类 403
19.1.6 获取用户信息 404
19.2 成员管理控件 405
19.2.1 成员管理控件概述 405
19.2.2 使用Login控件登录用户 405
19.2.3 使用CreateUserWizard创建新用户 406
19.2.4 使用LoginName得到用户名 408
19.2.5 使用LoginStatus显示登录状态 408
19.2.6 使用ChangePassword修改密码 409
19.2.7 使用PasswordRecovery找回密码 409
19.3 角色管理 411
19.3.1 角色管理概述 411
19.3.2 Roles类 411
19.3.3 配置角色管理 413
19.3.4 使用管理工具管理角色 413
19.3.5 使用角色控制页面行为 416
承上启下 419
第5篇 实例剖析 422
第20章 Web系统的多层结构 422
20.1 Web系统的三层结构 422
20.2 多层结构之NorthWind 423
20.2.1 整体结构 423
20.2.2 数据访问层DAL 423
20.2.3 业务逻辑层BLL 426
20.2.4 用户表示层UI 428
承上启下 430
第21章 课程实践 431
21.1 系统目标 431
21.1.1 顾客行为分析 431
21.1.2 管理员行为分析 431
21.1.3 系统目标 432
21.1.4 系统总体结构 432
21.2 数据库设计 433
21.2.1 设计数据库 433
21.2.2 实现数据库 434
21.3 通用组件层 436
21.3.1 log4net日志组件 436
21.3.2 Logger类实现 438
21.4 数据访问层 439
21.4.1 配置数据库连接 439
21.4.2 数据库类实现 439
21.4.3 获取安全数据 447
21.4.4 构造SQL语句 449
21.5 业务逻辑层 452
21.5.1 图书类 452
21.5.2 图书类别类 458
21.5.3 购物篮类 459
21.5.4 统计画图类 462
21.6 用户接口层 466
21.6.1 实现母版页 466
21.6.2 浏览、查询图书 470
21.6.3 查看图书详细信息 474
21.6.4 购买图书 476
21.6.5 用户登录 478
21.6.6 用户注册 480
21.6.7 购物篮管理 481
21.6.8 添加新图书 484
21.6.9 删除图书 486
21.6.10 修改图书信息 488
21.6.11 图书销量统计 490
21.6.12 用户管理 493
21.6.13 查看个人信息 495
21.6.14 修改个人密码 496
承上启下 497
第22章 踏上Starter Kit之路 499
22.1 Starter Kit第一步之PWS 499
22.1.1 安装PWS 500
22.1.2 主页面 500
22.1.3 创建管理员 501
22.1.4 管理相册 502
22.1.5 个人简历 503
22.2 母版页、主题和外观 504
22.2.1 母版页 504
22.2.2 主题和外观 505
22.3 成员和角色管理 505
22.3.1 初始化角色 506
22.3.2 注册新用户 506
22.4 相册和照片管理 507
22.4.1 管理相册 507
22.4.2 相册管理方法 509
22.4.3 照片管理 512
22.4.4 照片管理方法 514
22.5 其他页面 516
承上启下 516