第1篇 基础篇
第1章 走进ASP.NET18
1.1 接触ASP.NET19
1.1.1 ASP.NET是什么19
1.1.2 .NET Framework19
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 龙头老大KFC22
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 安装IIS28
2.2 安装Visual Studio 2008集成开发工具29
2.2.1 安装Visual Studio 200829
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
第1篇 基础篇
第1章 走进ASP.NET18
1.1 接触ASP.NET19
1.1.1 ASP.NET是什么19
1.1.2 .NET Framework19
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 龙头老大KFC22
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 安装IIS28
2.2 安装Visual Studio 2008集成开发工具29
2.2.1 安装Visual Studio 200829
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
第1篇 基础篇
第1章 走进ASP.NET18
1.1 接触ASP.NET19
1.1.1 ASP.NET是什么19
1.1.2 .NET Framework19
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 龙头老大KFC22
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 安装IIS28
2.2 安装Visual Studio 2008集成开发工具29
2.2.1 安装Visual Studio 200829
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 转义字符80
5.2 使用静态字符串类String82
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 使用可变字符串类StringBuilder87
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 switch多分支语句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篇 核心篇
第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 程序响应对象Response165
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 程序请求对象Request170
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 全局变量应用对象Application174
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 会话信息处理对象Session182
9.4.1 Session对象的概述182
9.4.2 Session对象常用属性182
9.4.3 Session对象常用方法183
9.4.4 情景应用:Session对象存储登录信息184
9.5 缓存对象Cookie185
9.5.1 Cookie对象概述185
9.5.2 Cookie对象常用属性186
9.5.3 Cookie对象常用方法187
9.5.4 情景应用:Cookie对象存储登录用户名和密码188
9.6 服务器信息处理对象Server189
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 了解什么是ADO.NET197
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篇 高级篇
第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 RegularExpressionValidator控件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. NET AJAX技术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 Toolkit362
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篇 实战篇
第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.Config394
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 用户注册470
22.5.1 功能展示471
22.5.2 设计思路471
22.5.3 功能实现471
22.6 用户登录473
22.6.1 功能展示474
22.6.2 设计思路474
22.6.3 功能实现474
22.7 文件上传476
22.7.1 功能展示476
22.7.2 设计思路476
22.7.3 功能实现476
22.8 文件管理478
22.8.1 功能展示478
22.8.2 设计思路478
22.8.3 功能实现478
22.9 个人资料489
22.9.1 功能展示489
22.9.2 设计思路489
22.9.3 功能实现490
22.10 本章小结494
附录A 专业术语表495