第1篇 基础篇 18
第1章 走进ASP.NET 18
1.1 接触ASP.NET 19
1.1.1 ASP.NET是什么 19
1.1.2 .NET Framework 19
1.1.3 C#语言 20
1.1.4 三者之间的关系 20
1.2 选择ASP.NET的理由 21
1.2.1 ASP.NET特性 21
1.2.2 ASP.NET的优点 21
1.3 欣赏ASP.NET成功案例 22
1.3.1 龙头老大KFC 22
1.3.2 问道官网 22
1.3.3 中华人民共和国人力资源和社会保障部 23
1.3.4 东风汽车公司 23
1.4 学好ASP.NET的方法 24
1.4.1 明确学习目的 25
1.4.2 打好基础,盖好“房子” 25
1.4.3 多请教、多交流 25
1.5 本章小结 25
第2章 构建ASP.NET开发环境 26
2.1 构建ASP.NET 3.5开发环境 27
2.1.1 软件和硬件要求 27
2.1.2 安装ⅡS 28
2.2 安装Visual StudiO 2008集成开发工具 29
2.2.1 安装Visual StudiO 2008 29
2.2.2 创建第一个“Hello Word” 32
2.2.3 Visual StudiO 2008功能介绍 33
2.3 安装MSDN帮助系统 39
2.3.1 安装MSDN帮助系统 39
2.3.2 使用MsDN帮助系统 42
2.4 本章小结 43
第3章 ASP.NET网站开发基础 44
3.1 设计ASP.NET网站 45
3.1.1 设计Web页面 45
3.1.2 运行Web网站 47
3.1.3 配置IIS虚拟目录 47
3.2 ASP.NET网页语法 49
3.2.1 ASP.NET网页扩展名 49
3.2.2 ASP.NET页面指令 50
3.2.3 注释ASPX文件中代码 53
3.3 本章小结 53
第4章 C#语言基础 54
4.1 掌握数据类型 55
4.1.1 值类型 55
4.1.2 引用类型 61
4.2 认识常量和变量 62
4.2.1 什么是常量 62
4.2.2 定义并使用常量 62
4.2.3 什么是变量 63
4.2.4 变量的声明和赋值 63
4.2.5 变量的作用域 65
4.3 如何实现类型转换 66
4.3.1 隐式类型转换 66
4.3.2 显式类型转换 67
4.4 使用C#中运算符 68
4.4.1 算术运算符 68
4.4.2 赋值运算符 71
4.4.3 关系运算符 72
4.4.4 情景应用1:开发简单计算器 74
4.4.5 情景应用2:开发简单登录 74
4.5 实战练习 75
4.5.1 输入出生年份判断生肖属相 75
4.5.2 求最大公约数 76
4.5.3 求最小公倍数 76
4.6 本章小结 77
第5章 掌握字符与字符串 78
5.1 Char字符类应用 79
5.1.1 Char类的概述 79
5.1.2 Char类的应用 79
5.1.3 转义字符 81
5.2 使用静态字符串类String 82
5.2.1 字符串的概念 82
5.2.2 比较字符串 83
5.2.3 格式化字符串 84
5.2.4 截取字符串 85
5.2.5 分割字符串 85
5.2.6 替换字符串 86
5.3 使用可变字符串类StringBuilder 87
5.3.1 StringBuilder类的概述 87
5.3.2 StringBuilder类的应用 87
5.3.3 StringBuilder类与String类的区别 88
5.4 实战练习 89
5.4.1 巧截字符串的数字 89
5.4.2 在字符串中查找指定的字符或字符串 90
5.4.3 颠倒字符串 90
5.5 本章小结 91
第6章 面向对象程序设计 92
6.1 理解面向对象编程 93
6.1.1 面向对象编程概述 93
6.1.2 面向对象编程的特点 94
6.2 面向对象中类与类成员 95
6.2.1 类的概念 95
6.2.2 创建类 96
6.2.3 定义类 97
6.2.4 实例化类对象 99
6.2.5 类的成员字段 99
6.2.6 类的成员方法 101
6.2.7 类的成员属性 104
6.2.8 构造函数 107
6.2.9 析构函数 109
6.2.10 情景应用:访问商品类的成员 109
6.3 面向对象特性之封装 110
6.3.1 封装概述 110
6.3.2 封装的实现 111
6.4 面向对象特性之继承 112
6.4.1 继承概述 112
6.4.2 继承的实现 113
6.5 面向对象特性之多态 115
6.5.1 认识多态 115
6.5.2 重载 116
6.5.3 重写 117
6.6 实战练习 119
6.6.1 使用面向对象的思想查找数字 119
6.6.2 使用面向对象的思想实现简单计算器 120
6.7 本章小结 121
第7章 掌握流程控制语句 122
7.1 接触条件语句 123
7.1.1 if条件语句 123
7.1.2 swish多分支语句 126
7.1.3 情景应用:判断数字奇偶性 128
7.2 掌握循环语句 129
7.2.1 while语句 130
7.2.2 do……while语句 131
7.2.3 for语句 132
7.2.4 foreach语句 134
7.3 实战练习 136
7.3.1 实现简单的会员注册功能 136
7.3.2 遍历指定文件夹 137
7.3.3 递归算法的经典面试题 138
7.4 本章小结 138
第2篇 核心篇 140
第8章 数组与集合 140
8.1 了解数组从何而来 141
8.1.1 数组概念 141
8.1.2 数组的用途 141
8.2 走进一维数组 141
8.2.1 创建一维数组 142
8.2.2 一维数组初始化 142
8.2.3 遍历一维数组 143
8.2.4 情景应用:尝试使用foreach语句遍历数组 144
8.3 迈向二维数组 144
8.3.1 创建二维数组 144
8.3.2 初始化二维数组 146
8.3.3 遍历二维数组 147
8.4 掌握数组的基本操作 148
8.4.1 清空数组 148
8.4.2 合并数组 149
8.4.3 拆分数组 150
8.4.4 查找数组元素 151
8.4.5 数组排序 151
8.5 使用ArrayList集合 154
8.5.1 ArrayList集合概述 154
8.5.2 ArrayList成员 154
8.5.3 添加ArrayList集合元素 155
8.5.4 删除ArrayList集合元素 156
8.5.5 遍历ArrayList集合 158
8.5.6 查找ArrayList集合元素 158
8.6 实战练习 160
8.6.1 经典问题之约瑟夫环问题 160
8.6.2 数组之冒泡排序 161
8.6.3 数组快速排序 162
8.7 本章小结 163
第9章 掌握ASP.NET内置对象 164
9.1 程序响应对象Response 165
9.1.1 Response对象概述 165
9.1.2 Response对象常用属性 165
9.1.3 Response对象常用方法 166
9.1.4 情景应用1:页面跳转 168
9.1.5 情景应用2:输出二进制图像 168
9.2 程序请求对象Request 170
9.2.1 Request对象概述 170
9.2.2 Request对象常用属性 170
9.2.3 Request对象常用方法 171
9.2.4 情景应用1:获取地址栏传递的数据 172
9.2.5 情景应用2:获取浏览器和主机信息 173
9.3 全局变量应用对象Application 174
9.3.1 Application对象概述 174
9.3.2 Application对象常用属性 175
9.3.3 Application对象常用方法 176
9.3.4 Application对象常用事件 177
9.3.5 情景应用1:简单聊天室 178
9.3.6 情景应用2:在线访问人数统计 180
9.4 会话信息处理对象Session 182
9.4.1 Session对象的概述 182
9.4.2 Session对象常用属性 182
9.4.3 Session对象常用方法 183
9.4.4 情景应用:Session对象存储登录信息 184
9.5 缓存对象Cookie 185
9.5.1 Cookie对象概述 185
9.5.2 Cookie对象常用属性 186
9.5.3 Cookie对象常用方法 187
9.5.4 情景应用:Cookie对象存储登录用户名和密码 188
9.6 服务器信息处理对象Server 189
9.6.1 Server对象概述 189
9.6.2 Server对象常用属性 190
9.6.3 Server对象常用方法 190
9.6.4 情景应用:获取文件或文件夹在服务器中的物理地址 192
9.7 实战练习 192
9.7.1 使用Response对象设置页面缓存 192
9.7.2 利用Cookie统计IP地址登录次数 193
9.7.3 Session对象判断用户登录状态 194
9.8 本章小结 195
第10章 ADO.NET数据库开发技术 196
10.1 了解什么是AD0.NET 197
10.2 使用Connection连接数据库 198
10.2.1 熟悉Connection对象 198
10.2.2 连接数据库字符串 199
10.2.3 使用SqlConnection对象连接数据库 201
10.2.4 使用OleDbConnection对象连接数据库 202
10.3 使用Command对象操作数据 203
10.3.1 熟悉Command对象 204
10.3.2 使用Command对象添加数据 206
10.3.3 使用Command对象修改数据 208
10.3.4 使用Command对象删除数据 209
10.3.5 使用Command对象调用存储过程 211
10.3.6 情景应用1:使用Command对象添加联系人管理数据 212
10.3.7 情景应用2:使用Command对象修改联系人管理数据 213
10.3.8 情景应用3:使用Command对象删除联系人管理数据 214
10.4 使用DataReader对象读取数据 215
10.4.1 理解节省内存的DataReader对象 215
10.4.2 使用DataReader对象读取数据 216
10.5 使用DataSet和DataAdapter查询数据 218
10.5.1 离线模式核心对象——DataSet对象 218
10.5.2 桥梁架设工程师——DataAdapter对象 219
10.5.3 填充并访问DataSet表中数据 220
10.5.4 修改DataSet并更新数据源(批量更新) 221
10.6 实战练习 222
10.6.1 使用参数化查询预防SQL注入式攻击 222
10.6.2 应用存储过程有效预防SQL注入式攻击 224
10.7 本章小结 225
第11章 ASP.NET服务器控件 226
11.1 服务器端控件概述 227
11.2 文本类型控件 227
11.2.1 使用Label控件显示文本 228
11.2.2 使用TextBox控件输入数据 229
11.2.3 情景应用:简单的加法运算器 233
11.3 按钮类型控件 234
11.3.1 通过Button控件提交表单 234
11.3.2 显示图像的ImageButton控件 236
11.4 列表类型控件 237
11.4.1 呈现列表的ListBox控件 238
11.4.2 实现下拉框的DropDownList控件 242
11.5 选择类型控件 245
11.5.1 实现单选的RadioButton控件 246
11.5.2 实现多选的CheckBox控件 247
11.6 图形控件显示图像 250
11.6.1 显示图像的Image控件 250
11.6.2 设置热点区域的ImageMap控件 252
11.7 文件上传控件上传文件 255
11.7.1 FileUpload控件的概述 255
11.7.2 FileUpload控件的属性 255
11.7.3 FileUpload控件的方法 257
11.7.4 情景应用:上传图片并获取相关信息 257
11.8 实战练习 259
11.8.1 限制文本框中输入的字符长度 259
11.8.2 显示验证码图片 260
11.8.3 带图像的登录按钮 260
11.9 本章小结 261
第12章 数据绑定控件 262
12.1 GridView控件基本应用 263
12.1.1 关于GridView控件 263
12.1.2 GridView控件分页绑定数据 263
12.1.3 以编程方式实现选中、编辑和删除GridView数据项 265
12.2 GridView控件72般绝技 268
12.2.1 一次性编辑GridView控件所有行中的数据 268
12.2.2 在GridView控件中内嵌DropDownList设置考试试卷状态 270
12.2.3 GridView控件中高亮显示行数据 271
12.2.4 在GridView控件中排序数据 272
12.2.5 在GridView控件中实现全选和全不选功能 274
12.3 灵活访问数据俊杰:DataList控件 275
12.3.1 关于DataList控件 276
12.3.2 分页绑定DataList控件中的数据(实现页面跳转功能) 276
12.3.3 使用DataList删除数据(支持批量删除) 279
12.3.4 在DataList控件中实现数据编辑操作 282
12.4 实战练习 284
12.4.1 GridView控件实现用“……”代替超长字符 284
12.4.2 GridView控件加入自动求和及平均值功能 285
12.5 本章小结 286
第3篇 高级篇 288
第13章 创建自己的Web用户控件 288
13.1 Web用户控件的概述 289
13.1.1 什么是Web用户控件 289
13.1.2 用户控件与普通Web页的比较 289
13.1.3 用户控件的优点 289
13.2 创建及使用Web用户控件 290
13.2.1 创建Web用户控件 290
13.2.2 将Web用户控件添加至网页 291
13.2.3 情景应用1:在用户控件中添加用户控件 292
13.2.4 情景应用2:使用Web用户控件制作博客导航条 293
13.3 设置用户控件 295
13.3.1 访问用户控件的属性 295
13.3.2 访问用户控件中的服务器控件 296
13.3.3 将Web网页转化为用户控件 297
13.4 Web用户控件的实际应用 299
13.4.1 创建会员注册的Web用户控件 299
13.4.2 具有文件上传功能的Web用户控件 301
13.4.3 创建在线投票的Web用户控件 302
13.5 实战练习 306
13.5.1 利用Web用户控件实现选择日期的功能 306
13.5.2 网页软键盘 306
13.6 本章小结 307
第14章 ASP.NET验证控件 308
14.1 了解何谓验证控件 309
14.1.1 什么是验证控件 309
14.1.2 验证控件的工作原理 309
14.2 验证是否输入数据 310
14.2.1 RequiredFieldValidator控件 310
14.2.2 情景应用:验证用户是否输入信息 311
14.3 比较数据是否一致 312
14.3.1 CompareValidator控件 312
14.3.2 情景应用:验证两次密码输入是否一致 314
14.4 验证输入数据的范围 315
14.4.1 RangeValidator控件 315
14.4.2 情景应用:验证输入的日期是否在指定范围内 317
14.5 验证数据输入格式 317
14.5.1 RegularExpression Validator控件 318
14.5.2 情景应用:验证邮件、生日等是否正确 320
14.6 验证错误信息汇总 321
14.6.1 ValidationSummary控件 321
14.6.2 情景应用:注册页面错误信息汇总 323
14.7 自定义验证控件 324
14.7.1 CustomValidator控件 324
14.7.2 情景应用:验证密码是否超出规定长度 326
14.8 实战练习 327
14.8.1 验证出国护照 327
14.8.2 自定义出生日期的输入格式 327
14.8.3 验证密码格式 328
14.9 本章小结 328
第15章 利用GDI+绘制Web图形图像 329
15.1 了解什么是GDI+ 330
15.2 熟练掌握GDI+绘图基础 330
15.2.1 创建Graphics对象 330
15.2.2 创建Pen对象 331
15.2.3 创建Brush对象 331
15.3 使用GDI+绘制基本图形 337
15.3.1 绘制直线 337
15.3.2 绘制矩形 338
15.3.3 绘制椭圆和弧 339
15.3.4 绘制多边形 341
15.3.5 绘制基数样条 342
15.3.6 绘制贝塞尔样条 344
15.3.7 情景应用1:纹理效果的文字 345
15.3.8 情景应用2:渐变效果的文字 346
15.4 实战练习 347
15.4.1 绘制公章 347
15.4.2 波形图的绘制 348
15.4.3 倒影效果的文字 348
15.5 本章小结 349
第16章 AJAX无刷新技术 350
16.1 初次体验ASP.NETAJAX技术 351
16.1.1 AJAX开发模式 351
16.1.2 ASP.NET AJAX的优点 351
16.1.3 探讨ASP.NET AJAX架构 352
16.2 ASP.NET AJAX服务器控件 352
16.2.1 ScriptManager脚本管理控件 353
16.2.2 UpdatePanel局部更新控件 358
16.2.3 Timer计时器控件 361
16.3 AJAX Control Toolkit扩展控件 362
16.3.1 下载ASP.NET AJAX Control Toolkit 362
16.3.2 将控件添加到Visual Studio的Toolbox中 362
16.4 应用AJAX Control Toolkit扩展控件 363
16.4.1 TextBoxWatermark:添加水印提示 363
16.4.2 PasswordStrength:智能密码强度提示 365
16.4.3 SlideShow:播放照片 367
16.5 实战练习 369
16.5.1 应用Timer控件实现在线考试倒计时 369
16.5.2 应用Timer控件实现网站气泡提示 370
16.5.3 多样式验证控件验证注册信息 371
16.6 本章小结 372
第17章 调试与错误处理 373
17.1 认识错误类型 374
17.1.1 语法错误 374
17.1.2 语义错误 374
17.1.3 逻辑错误 375
17.2 掌握程序调试 376
17.2.1 设定断点 376
17.2.2 开始执行 377
17.2.3 中断执行 379
17.2.4 停止执行 379
17.2.5 运行到指定位置 379
17.3 程序错误处理 379
17.3.1 服务器故障排除 380
17.3.2 ASP.NET中的异常处理 381
17.4 本章小结 385
第4篇 实战篇 388
第18章 开发网站留言板 388
18.1 网站留言板概述 389
18.1.1 功能设计与业务流程 389
18.1.2 数据库设计 389
18.2 开发前技术准备 390
18.2.1 配置第三方FreeTextBox组件 390
18.2.2 应用Visual Studio 2008母版页 392
18.2.3 定义CSS样式统一页面风格 393
18.3 主要开发过程 394
18.3.1 配置Web.Config 394
18.3.2 编写程序公共类 394
18.3.3 留言板主页设计 398
18.3.4 发表留言模块设计 399
18.3.5 留言信息查看页面设计 400
18.3.6 留言信息管理设计 404
18.3.7 回复留言设计 405
18.4 本章小结 407
第19章 文件上传与下载 408
19.1 设计思路 409
19.1.1 功能概述 409
19.1.2 程序业务流程图 409
19.1.3 文件组织结构 409
19.2 文件上传 410
19.2.1 实现关键技术 410
19.2.2 功能实现 410
19.3 文件下载 414
19.3.1 实现关键技术 414
19.3.2 功能实现 415
19.4 本章小结 417
第20章 AJAX无刷新聊天室 418
20.1 聊天室概述 419
20.2 开发流程图 419
20.3 数据库设计 420
20.4 关键技术 421
20.4.1 FrameSet框架技术的应用 421
20.4.2 AJAX技术应用讲解 423
20.4.3 Session对象的应用 426
20.4.4 DataList控件的分页技术 426
20.5 实现过程 428
20.5.1 公共类编写 429
20.5.2 设计分析 431
20.6 本章小结 442
第21章 实现会员密码找回功能 443
21.1 概述 444
21.1.1 功能概述 444
21.1.2 数据库设计 444
21.1.3 密码找回流程图 444
21.2 关键技术 444
21.2.1 会员名验证技术 445
21.2.2 Panel控件分步显示内容 446
21.2.3 发送邮件技术 447
21.2.4 3次找回密码机会 448
21.2.5 SMTP服务的安装与配置 448
21.3 会员密码找回的实现过程 451
21.3.1 用户登录设计 451
21.3.2 会员注册设计 452
21.3.3 会员密码找回设计 455
21.4 本章小结 458
第22章 完美实现网络硬盘 459
22.1 网络硬盘概述 460
22.1.1 系统功能结构图 460
22.1.2 系统预览 460
22.2 数据库设计 461
22.3 关键技术详解 462
22.3.1 上传文件 462
22.3.2 创建文件夹 463
22.3.3 删除文件或文件夹 464
22.3.4 文件或文件夹更名 465
22.3.5 下载文件 466
22.4 公共类设计 467
22.5 用户注册 471
22.5.1 功能展示 471
22.5.2 设计思路 471
22.5.3 功能实现 471
22.6 用户登录 474
22.6.1 功能展示 474
22.6.2 设计思路 474
22.6.3 功能实现 475
22.7 文件上传 476
22.7.1 功能展示 476
22.7.2 设计思路 476
22.7.3 功能实现 477
22.8 文件管理 478
22.8.1 功能展示 478
22.8.2 设计思路 478
22.8.3 功能实现 479
22.9 个人资料 490
22.9.1 功能展示 491
22.9.2 设计思路 491
22.9.3 功能实现 491
22.10 本章小结 495
附录A 专业术语表 496