第1篇 技能学习篇
第1章 淘我人生第一桶金——从学ASP.NET开始
6个编程技术要点
8个编程技巧说明
5个编程注意事项
2个实例应用详解
1.1 本章学习任务 4
1.1.1 本章能学到什么 4
1.1.2 实践检验真理 4
1.2 Web开发基础知识 5
1.2.1 两大网络应用体系 5
1.2.2 HTML与HTTP 5
1.2.3 动态页面与静态页面 5
1.3 走近ASP.NET 3.5 6
1.3.1 追溯ASP.NET发展史 6
1.3.2 ASP.NET新特性 6
1.3.3 ASP.NET网站运行原理 6
1.3.4 .NET Framework介绍 7
1.4 ASP.NET开发利器——Visual Studio 2008 8
1.4.1 Visual Studio 2008简介 8
1.4.2 安装Visual Studio 2008(Windows Server 2003/Windows 7) 8
1.4.3 配置Visual Studio 2008(Windows Server 2003/Windows 7) 12
1.4.4 IIS安装和配置(Windows Server 2003/Windows 7) 13
1.5 万丈高楼平地起——ASP.NET网页语法 15
1.5.1 ASP.NET网页扩展名 15
1.5.2 常用页面指令 15
1.5.3 注释ASPX文件内容 16
1.5.4 ASP.NET服务器控件标记语法 17
1.5.5 代码块语法 18
1.5.6 表达式语法 19
1.6 开发初体验——第一个ASP.NET网站 20
1.6.1 创建ASP.NET网站 20
1.6.2 设计Web页面 21
1.6.3 运行应用程序 23
1.6.4 在网站中添加资源文件夹 23
1.7 最好的学习老师——使用MSDN辅助编程 24
1.7.1 MSDN的安装 24
1.7.2 利用MSDN帮助学习 26
1.8 实战检验 28
1.8.1 设置Visual Studio 2008开发环境中显示代码行号28
1.8.2 如何中断正在运行的程序 29
1.9 疑难解惑 29
1.9.1 C#和.NET有什么关系 29
1.9.2 Visual Studio 2008安装不上 29
1.10 精彩回顾 30
第2章 ASP.NET必修课——C#语言基础入门
20个编程技术要点
11个编程技巧说明
3个编程注意事项
12个实例应用详解
2.1 本章学习任务 32
2.1.1 本章能学到什么 32
2.1.2 实践检验真理 32
2.2 C#语言轻松入门 32
2.2.1 快速入门——从第1个C#程序说起 32
2.2.2 创建并运行C#控制台应用程序 34
2.2.3 没有规矩不成方圆——C#代码书写规则 36
2.2.4 相得益彰——C#与.NET的完美结合 37
2.3 数据类型 37
2.3.1 值类型的使用 37
2.3.2 引用类型的使用 41
2.3.3 “箱子”学问——装箱和拆箱 42
2.4 变量和常量 43
2.4.1 变量的命名规则与惯例 43
2.4.2 仓库与盒子的学问——数据类型与变量 43
2.4.3 变量的声明与赋值 44
2.4.4 变量的作用域和生存周期 44
2.4.5 常量的定义 45
2.5 数据类型转换 45
2.5.1 隐式类型转换 45
2.5.2 显式类型转换 46
2.6 运算符及表达式 47
2.6.1 算术运算符 47
2.6.2 赋值运算符 48
2.6.3 关系运算符 48
2.6.4 逻辑运算符 49
2.6.5 三目运算符 50
2.6.6 运算符的优先权 50
2.7 实战检验 51
2.7.1 静态方法与局部变量的应用 51
2.7.2 利用运算符判断用户名称和密码 52
2.8 疑难解惑 52
2.8.1 值类型和引用类型区别 52
2.8.2 C#基础语言中是否有全局变量 52
2.8.3 C#字符类型中的string和Sting区别 52
2.9 精彩回顾 52
第1篇 技能学习篇
第1章 淘我人生第一桶金——从学ASP.NET开始
6个编程技术要点
8个编程技巧说明
5个编程注意事项
2个实例应用详解
1.1 本章学习任务 4
1.1.1 本章能学到什么 4
1.1.2 实践检验真理 4
1.2 Web开发基础知识 5
1.2.1 两大网络应用体系 5
1.2.2 HTML与HTTP 5
1.2.3 动态页面与静态页面 5
1.3 走近ASP.NET 3.5 6
1.3.1 追溯ASP.NET发展史 6
1.3.2 ASP.NET新特性 6
1.3.3 ASP.NET网站运行原理 6
1.3.4 .NET Framework介绍 7
1.4 ASP.NET开发利器——Visual Studio 2008 8
1.4.1 Visual Studio 2008简介 8
1.4.2 安装Visual Studio 2008(Windows Server 2003/Windows 7) 8
1.4.3 配置Visual Studio 2008(Windows Server 2003/Windows 7) 12
1.4.4 IIS安装和配置(Windows Server 2003/Windows 7) 13
1.5 万丈高楼平地起——ASP.NET网页语法 15
1.5.1 ASP.NET网页扩展名 15
1.5.2 常用页面指令 15
1.5.3 注释ASPX文件内容 16
1.5.4 ASP.NET服务器控件标记语法 17
1.5.5 代码块语法 18
1.5.6 表达式语法 19
1.6 开发初体验——第一个ASP.NET网站 20
1.6.1 创建ASP.NET网站 20
1.6.2 设计Web页面 21
1.6.3 运行应用程序 23
1.6.4 在网站中添加资源文件夹 23
1.7 最好的学习老师——使用MSDN辅助编程 24
1.7.1 MSDN的安装 24
1.7.2 利用MSDN帮助学习 26
1.8 实战检验 28
1.8.1 设置Visual Studio 2008开发环境中显示代码行号28
1.8.2 如何中断正在运行的程序 29
1.9 疑难解惑 29
1.9.1 C#和.NET有什么关系 29
1.9.2 Visual Studio 2008安装不上 29
1.10 精彩回顾 30
第2章 ASP.NET必修课——C#语言基础入门
20个编程技术要点
11个编程技巧说明
3个编程注意事项
12个实例应用详解
2.1 本章学习任务 32
2.1.1 本章能学到什么 32
2.1.2 实践检验真理 32
2.2 C#语言轻松入门 32
2.2.1 快速入门——从第1个C#程序说起 32
2.2.2 创建并运行C#控制台应用程序 34
2.2.3 没有规矩不成方圆——C#代码书写规则 36
2.2.4 相得益彰——C#与.NET的完美结合 37
2.3 数据类型 37
2.3.1 值类型的使用 37
2.3.2 引用类型的使用 41
2.3.3 “箱子”学问——装箱和拆箱 42
2.4 变量和常量 43
2.4.1 变量的命名规则与惯例 43
2.4.2 仓库与盒子的学问——数据类型与变量 43
2.4.3 变量的声明与赋值 44
2.4.4 变量的作用域和生存周期 44
2.4.5 常量的定义 45
2.5 数据类型转换 45
2.5.1 隐式类型转换 45
2.5.2 显式类型转换 46
2.6 运算符及表达式 47
2.6.1 算术运算符 47
2.6.2 赋值运算符 48
2.6.3 关系运算符 48
2.6.4 逻辑运算符 49
2.6.5 三目运算符 50
2.6.6 运算符的优先权 50
2.7 实战检验 51
2.7.1 静态方法与局部变量的应用 51
2.7.2 利用运算符判断用户名称和密码 52
2.8 疑难解惑 52
2.8.1 值类型和引用类型区别 52
2.8.2 C#基础语言中是否有全局变量 52
2.8.3 C#字符类型中的string和Sting区别 52
2.9 精彩回顾 52
第3章 峰回路转——流程语句控制和数组
10个编程技术要点
6个编程技巧说明
12个编程注意事项
14个实例应用详解
3.1 本章学习任务 56
3.1.1 本章能学到什么 56
3.1.2 实践检验真理 56
3.2 使用if/switch选择(分支)语句 57
3.2.1 使用if…else语句实现条件选择 57
3.2.2 if语句的嵌套 60
3.2.3 使用switch语句实现多分支选择 64
3.3 使用for/foreach循环 65
3.3.1 简化重复程序代码for循环 65
3.3.2 使用foreach语句遍历集合或数组 67
3.4 使用while/do...while循环语句 68
3.4.1 请出示通行证——while循环 68
3.4.2 先上车后补票——do…while循环 69
3.5 排成一串的“变量”——数组 70
3.5.1 数组概念 70
3.5.2 一维数组 71
3.5.3 二维数组 72
3.5.4 多维数组 73
3.6 实战检验 74
3.6.1 会员注册 74
3.6.2 数组排序 75
3.7 疑难解惑 76
3.7.1 使用for语句应该注意什么 76
3.7.2 如何跳出while循环 76
3.8 精彩回顾 77
第4章 独占鳌头——面向对象编程
17个编程技术要点
17个编程技巧说明
9个编程注意事项
11个实例应用详解
4.1 本章学习任务 80
4.1.1 本章能学到什么 80
4.1.2 实践检验真理 80
4.2 面向对象编程知多少 81
4.2.1 解析面向对象 81
4.2.2 面向对象三大支柱 82
4.3 家族核心——类与类成员 83
4.3.1 绘制家谱——用ASP.NET创建类 83
4.3.2 家族权力——类的定义及其访问权限 85
4.3.3 展现家族——实例化类对象 86
4.3.4 家族成员——类的成员字段 87
4.3.5 家族行为——类的成员方法 89
4.3.6 家族特征——类的成员属性 91
4.3.7 构造函数和析构函数 94
4.4 神秘金字塔——封装特性 96
4.4.1 揭密封装特性 96
4.4.2 封存“埃及法老” 97
4.5 子承父业——继承特性 98
4.5.1 “继承”家族概况 98
4.5.2 一脉单传——单继承 98
4.5.3 四世同堂——接口和多重继承 99
4.6 性相近习相远——多态特性 103
4.6.1 万千世界,多态体验 103
4.6.2 多态体验之一:重载(overload) 104
4.6.3 多态体验之二:重写(override) 105
4.7 实战检验 106
4.7.1 显式接口成员实现 106
4.7.2 “这是我定义的一个方法!” 107
4.8 疑难解惑 108
4.9 精彩回顾 108
第5章 网页基本元素——常用服务器控件
13个编程技术要点
20个编程技巧说明
11个编程注意事项
12个实例应用详解
5.1 本章学习任务 112
5.1.1 本章能学到什么 112
5.1.2 实践检验真理 112
5.2 文本类型控件 113
5.2.1 Label控件 113
5.2.2 TextBox控件 115
5.3 按钮类型控件 119
5.3.1 Button控件 119
5.3.2 ImageButton控件 121
5.4 选择类型控件 122
5.4.1 ListBox控件 122
5.4.2 DropDownList控件 126
5.4.3 RadioButton控件 130
5.4.4 CheckBox控件 132
5.5 图形显示类型控件 134
5.5.1 Image控件 134
5.5.2 ImageMap控件 137
5.6 FileUpload文件上传控件 139
5.6.1 FileUpload控件概述 139
5.6.2 FileUpload控件的属性 139
5.6.3 FileUpload控件的方法 141
5.7 实战检验 142
5.7.1 DropDownList控件中添加ListBox控件选择的项目
142
5.7.2 限制上传文件的大小 143
5.8 疑难解惑 144
5.8.1 控件自动回发服务器,网页总是刷新 144
5.8.2 使用FileUpload控件时上传目录的问题 145
5.9 精彩回顾 145
第6章 程序开发效率之利器——内置对象
25个编程技术要点
10个编程技巧说明
3个编程注意事项
15个实例应用详解
6.1 本章学习任务 148
6.1.1 本章能学到什么 148
6.1.2 实践检验真理 148
6.2 程序响应对象:Response 149
6.2.1 Response对象概述 149
6.2.2 Response对象常用属性和方法 150
6.2.3 判断客户端是否连接服务器 150
6.2.4 使用Redirect方法实现页面跳转 151
6.2.5 BinaryWrite方法输出二进制图像 151
6.3 程序请求对象:Request 152
6.3.1 Request对象概述 152
6.3.2 Request对象常用属性和方法 152
6.3.3 获取客户端浏览器信息 153
6.3.4 站内搜索引擎 154
6.4 全局变量应用对象:Application 155
6.4.1 Application对象概述 155
6.4.2 Application对象常用属性、方法 155
6.4.3 获取Application对象数量 156
6.4.4 在线人数统计 156
6.5 会话信息处理对象:Session 157
6.5.1 Session对象概述 157
6.5.2 Session对象常用属性和方法 157
6.5.3 判断用户是否登录 158
6.5.4 设置用户在线时间 159
6.6 客户端数据缓存对象:Cookie 160
6.6.1 Cookie对象概述 160
6.6.2 Cookie对象常用属性和方法 160
6.6.3 使用Cookie对象保存和读取客户端信息 161
6.6.4 利用Cookie实现密码记忆功能 161
6.7 服务器信息处理对象:Server 163
6.7.1 Server对象概述 163
6.7.2 Server对象常用属性和方法 163
6.7.3 获取服务器的物理地址 163
6.7.4 解决传递汉字丢失或乱码的问题 164
6.8 实战检验 165
6.8.1 利用Application对象开发聊天室 165
6.8.2 在线投票系统 167
6.9 疑难解惑 170
6.9.1 Session值丢失的问题 170
6.9.2 如何获取客户端的IP地址 170
6.10 精彩回顾 170
第7章 数据检验之利器——验证控件
12个编程技术要点
9个编程技巧说明
4个编程注意事项
7个实例应用详解
7.1 本章学习任务 174
7.1.1 本章能学到什么 174
7.1.2 实践检验真理 174
7.2 验证控件 175
7.2.1 什么是验证控件 175
7.2.2 验证控件的工作原理 175
7.2.3 结合多个验证控件 176
7.3 非空数据验证 176
7.3.1 RequiredFieldValidator控件 177
7.3.2 RequiredFieldValidator检查必要的输入 178
7.4 数据比较验证 179
7.4.1 CompareValidator控件 179
7.4.2 CompareValidator数据比较实例 180
7.5 数据范围验证 181
7.5.1 RangeValidator控件 182
7.5.2 RangeValidator验证范围实例 182
7.6 数据输入格式验证 183
7.6.1 RegularExpressionValidator控件 183
7.6.2 RegularExpressionValidator验证格式实例 185
7.7 验证错误信息汇总 187
7.7.1 ValidationSummary控件 188
7.7.2 ValidationSummary汇总错误信息 189
7.8 自定义验证控件(CustomValidator) 190
7.9 屏蔽客户端验证功能 191
7.10 实战检验 192
7.10.1 限制用户名只能由数字、字母、汉字或下划线组
成 192
7.10.2 以编程方式验证出生日期格式 193
7.11 疑难解惑 194
7.11.1 所有验证控件必须设置哪一属性来指定验证对象
194
7.11.2 验证控件的Display属性值Static和Dynamic区别
194
7.11.3 是否可以通过编程方式来检验控件 194
7.12 精彩回顾 194
第8章 学富五车——ADO.NET数据库开发技术
17个编程技术要点
13个编程技巧说明
5个编程注意事项
8个实例应用详解
8.1 本章学习任务 198
8.1.1 本章能学到什么 198
8.1.2 实践检验真理 198
8.2 ADO.NET技术知多少 199
8.2.1 ADO.NET对象模型 199
8.2.2 趣味理解ADO.NET 199
8.3 建立数据库连接Connection对象 200
8.3.1 一切从我开始——Connection对象 200
8.3.2 串起数据珍珠链——数据库连接字符串 201
8.3.3 使用SqlConnection对象连接SQL Server数据库
202
8.3.4 使用OleDbConnection对象连接Access数据库
203
8.4 执行数据库命令Command对象 204
8.4.1 执行SQL命令好帮手——Command对象 204
8.4.2 使用Command对象添加联系人管理数据 207
8.4.3 使用Command对象修改联系人管理数据 208
8.4.4 使用Command对象删除联系人管理数据 209
8.4.5 高效率代码——调用存储过程管理联系人数据
209
8.5 连线模式数据访问DataReader对象 211
8.5.1 节省内存最优秀——DataReader对象 211
8.5.2 使用DataReader对象获取数据 212
8.6 离线模式数据访问DataSet和DataAdapter 213
8.6.1 离线模式核心对象——DataSet对象 213
8.6.2 桥梁架设工程师——DataAdapter对象 214
8.6.3 填充并访问DataSet表中数据 215
8.6.4 修改DataSet并更新数据源(批量更新) 216
8.7 实战检验 218
8.7.1 使用参数化查询预防SQL注入式攻击 218
8.7.2 应用存储过程有效预防SQL注入式攻击 220
8.8 疑难解惑 221
8.8.1 数据库连线模式和离线模式的比较 221
8.8.2 ADO.NET中检索数据的经典步骤 221
8.8.3 DataSet与DataReader对象应用场合 222
8.9 精彩回顾 222
第9章 全方位数据访问——数据控件的应用
14个编程技术要点
11个编程技巧说明
6个编程注意事项
14个实例应用详解
9.1 本章学习任务 226
9.1.1 本章能学到什么 226
9.1.2 实践检验真理 226
9.2 GridView控件基本应用 226
9.2.1 关于GridView控件 226
9.2.2 GridView控件分页绑定数据 227
9.2.3 以编程方式实现选中、编辑和删除GridView数据项
228
9.3 GridView控件72般绝技 230
9.3.1 一次性编辑GridView控件的所有行中数据 230
9.3.2 在GridView控件中内嵌DropDownList设置考试试卷
状态 232
9.3.3 GridView控件中高亮显示行数据 233
9.3.4 在GridView控件中排序数据 234
9.3.5 在GridView控件中实现全选和全不选功能 236
9.4 灵活访问数据库:DataList控件 237
9.4.1 关于DataList控件 237
9.4.2 分页绑定DataList控件中数据(实现页面跳转功能)
237
9.4.3 使用DataList删除数据(支持批量删除) 240
9.4.4 在DataList控件中实现数据进行编辑操作 242
9.5 王牌现身:全新的ListView控件 244
9.5.1 关于ListView控件 244
9.5.2 使用ListView控件显示数据 244
9.5.3 以独立的DataPager控件设置ListView控件的分页
246
9.6 实战检验 247
9.6.1 实现用“…”代替超长字符串 247
9.6.2 加入自动求和求平均值 248
9.7 疑难解惑 249
9.7.1 GridView控件分页导航条样式 249
9.7.2 DataList控件如何智能化查看详细信息 249
9.8 精彩回顾 250
第10章 组件加工厂——Web用户控件
7个编程技术要点
4个编程技巧说明
2个编程注意事项
5个实例应用详解
10.1 本章学习任务 254
10.1.1 本章能学到什么 254
10.1.2 实践检验真理 254
10.2 Web用户控件概述 255
10.2.1 Web用户控件与Web窗体比较 255
10.2.2 Web用户控件的优点 255
10.3 创建及使用Web用户控件 255
10.3.1 创建Web用户控件 255
10.3.2 将Web用户控件添加至网页 256
10.3.3 制作一个站内搜索用户控件 257
10.4 设置用户控件 258
10.4.1 访问用户控件的属性 258
10.4.2 访问用户控件中的服务器控件 259
10.5 实战检验 260
10.5.1 具有文件上传功能的用户控件 260
10.5.2 具有会员登录功能的用户控件 262
10.6 疑难解惑 263
10.6.1 什么情况下使用Web用户控件 263
10.6.2 在Web用户控件中不能弹出提示框 263
10.7 精彩回顾 263
第11章 以逸待劳——ASP.NET缓存技术
8个编程技术要点
11个编程技巧说明
2个编程注意事项
7个实例应用详解
11.1 本章学习任务 266
11.1.1 本章能学到什么 266
11.1.2 实践检验真理 266
11.2 ASP.NET缓存架构概述 267
11.2.1 新增功能 267
11.2.2 缓存的优点 267
11.3 网页输出缓存之完整网页缓存 268
11.3.1 完整网页缓存基本概念 268
11.3.2 以@ OutputCacher指令声明网页输出缓存 268
11.3.3 使用页面输出缓存API 271
11.4 网页输出缓存之部分网页缓存 274
11.4.1 页面部分缓存概述 274
11.4.2 控件缓存 274
11.4.3 缓存后替换 276
11.5 实战检验 277
11.5.1 通过Response.Cache对象设置页面缓存有效期
277
11.5.2 使用Cache类缓存一个变量值 278
11.6 疑难解惑 279
11.6.1 什么情况下使用缓存 279
11.6.2 指定页面缓存在服务器上 279
11.7 精彩回顾 279
第12章 ASP.NET完美体验——Ajax无刷新技术
23个编程技术要点
8个编程技巧说明
5个编程注意事项
13个实例应用详解
12.1 本章学习任务 282
12.1.1 本章能学到什么 282
12.1.2 实践检验真理 282
12.2 迈向解密之路——ASP. NET Ajax初体验 282
12.2.1 Ajax开发模式 283
12.2.2 ASP.NET Ajax优点 283
12.2.3 探讨ASP.NET Ajax架构 284
12.3 ASP. NET Ajax服务器端控件 284
12.3.1 脚本管理员——ScriptManager控件 284
12.3.2 局部更新面板——UpdatePanel控件 285
12.3.3 定时操作的最佳利器——Timer控件 287
12.4 Ajax完美体验——酷我交流聊天室 288
2.4.1 酷我交流聊天室概述 288
2.4.2 核心代码演练 289
12.5 炫酷效果营造者——Ajax Control Toolkit 290
12.5.1 安装Ajax Control Toolkit扩展控件工具包
290
12.5.2 密码安全提示——密码强度(PasswordStrength)
291
12.5.3 相册播放器——播放照片(SlideShow) 293
12.6 Ajax炫酷体验——美丽星空许愿墙 294
12.6.1 美丽星空许愿墙概述 294
12.6.2 核心代码演练 295
12.7 实战检验 296
12.7.1 应用Timer控件实现在线考试倒计时 296
12.7.2 应用TextBoxWatermark控件添加水印 297
12.8 疑难解惑 298
12.8.1 如何在Ajax环境中弹出对话框 298
12.8.2 Timer控件的使用模式有几种 298
12.8.3 服务器控件放在UpdatePanel外如何实现局部更新
效果 298
12.9 精彩回顾 298
第13章 ASP.NET神来之笔——LINQ数据库访问技术
20个编程技术要点
15个编程技巧说明
5个编程注意事项
10个实例应用详解
13.1 本章学习任务 302
13.1.1 本章能学到什么 302
13.1.2 实践检验真理 302
13.2 崭新眼光看世界——认识LINQ 303
13.2.1 你好!LINQ 303
13.2.2 LINQ架构概览 303
13.2.3 为什么需要LINQ 304
13.3 LINQ查询初步——LINQ查询子句 305
13.3.1 有始有终——from与select子句 305
13.3.2 查询过滤器——where子句 306
13.3.3 数据分组——group by子句 306
13.3.4 数据排序——orderby子句 307
13.4 操作关系型数据——LINQ to SQL 307
13.4.1 走近LINQ to SQL 307
13.4.2 揭秘LINQ to SQL查询 309
13.4.3 LINQ延迟执行模式 311
13.4.4 编程新体验——通过LINQ插入、更新和删除数据
312
13.5 使用LINQ操作DataSet 316
13.5.1 揭秘LINQ to DataSet 316
13.5.2 使用LINQ to DataSet查询商品销售数据 316
13.6 操作XML——LINQ to XML 318
13.6.1 为什么需要LINQ to XML 318
13.6.2 使用LINQ to XML操作XML文件 318
13.7 实战检验 320
13.7.1 LINQ防止SQL注入式攻击 320
13.7.2 LINQ to XML——合计XML元素值 320
13.8 疑难解惑 321
13.8.1 解决理念上的阻抗失调 321
13.8.2 LINQ并不仅仅用于查询 321
13.8.3 在容易混淆的地方使用var关键字 322
13.9 精彩回顾 322
第14章 钟馗捉妖——程序调试与错误处理
25个编程技术要点
5个编程技巧说明
3个编程注意事项
15个实例应用详解
14.1 本章学习任务 324
14.1.1 本章能学到什么 324
14.1.2 实践检验真理 324
14.2 “妖”之分类 325
14.2.1 千年小妖——语法错误 325
14.2.2 千年老妖——语义错误 325
14.2.3 万妖之王——逻辑错误 326
14.3 修练仙道——程序调试 326
14.3.1 仙术秘诀——设定断点 326
14.3.2 仙人指路——设定起始页 327
14.3.3 开始修练——调试断点 328
14.3.4 跨越险阻——中断执行 330
14.3.5 飞升成仙——停止执行 330
14.4 捕妖之术——ASP.NET中最佳异常处理 331
14.4.1 使用try…catch语句捕获异常 331
14.4.2 使用try…catch…finally捕获异常 333
14.5 实战检验 334
14.5.1 调试运行时错误 334
14.5.2 调试逻辑错误 335
14.6 疑难解惑 335
14.6.1 程序中的错误分为几类,分别是什么 335
14.6.2 怎样理解程序调试与错误处理中的异常 336
14.6.3 如何针对不同的异常进行捕捉 336
14.7 精彩回顾 336
第2篇 范例演练篇
第15章 实践检验真理——Web开发应用基础
20个编程技术要点
15个编程技巧说明
12个编程注意事项
5个实例应用详解
15.1 完美备份与还原数据库 340
15.1.1 范例功能演示 340
15.1.2 开发思路指引 340
15.1.3 专家难点解析 341
15.1.4 设计过程详解 344
15.1.5 范例开发手记 346
15.1.6 进阶与提高 346
15.2 仿Google扭曲验证码 347
15.2.1 范例功能演示 347
15.2.2 开发思路指引 348
15.2.3 专家难点解析 348
15.2.4 设计过程详解 350
15.2.5 范例开发手记 352
15.2.6 进阶与提高 352
15.3 分块下载文件 353
15.3.1 范例功能演示 353
15.3.2 开发思路指引 353
15.3.3 专家难点解析 354
15.3.4 设计过程详解 354
15.3.5 范例开发手记 356
15.3.6 进阶与提高 357
15.4 智能验证会员注册信息 357
15.4.1 范例功能演示 357
15.4.2 开发思路指引 358
15.4.3 专家难点解析 358
15.4.4 设计过程详解 361
15.4.5 范例开发手记 364
15.4.6 进阶与提高 365
15.5 利用Word打印商品销售报表 366
15.5.1 范例功能演示 366
15.5.2 开发思路指引 366
15.5.3 专家难点解析 366
15.5.4 设计过程详解 367
15.5.5 范例开发手记 368
15.5.6 进阶与提高 368
第16章 打造多彩世界——图形图像与多媒体
15个编程技术要点
12个编程技巧说明
20个编程注意事项
5个实例应用详解
16.1 带进度条上传图片 370
16.1.1 范例功能演示 370
16.1.2 开发思路指引 370
16.1.3 专家难点解析 372
16.1.4 设计过程详解 374
16.1.5 范例开发手记 380
16.1.6 进阶与提高 380
16.2 在线图像无损压缩 381
16.2.1 范例功能演示 381
16.2.2 开发思路指引 381
16.2.3 专家难点解析 381
16.2.4 设计过程详解 383
16.2.5 范例开发手记 386
16.2.6 进阶与提高 387
16.3 在线收音机 387
16.3.1 范例功能演示 387
16.3.2 开发思路指引 388
16.3.3 专家难点解析 388
16.3.4 设计过程详解 389
16.3.5 范例开发手记 392
16.3.6 进阶与提高 392
16.4 图片在线裁剪 393
16.4.1 范例功能演示 393
16.4.2 开发思路指引 394
16.4.3 专家难点解析 394
16.4.4 设计过程详解 395
16.4.5 范例开发手记 397
16.4.6 进阶与提高 397
16.5 循环播放广告图片 398
16.5.1 范例功能演示 398
16.5.2 开发思路指引 398
16.5.3 专家难点解析 398
16.5.4 设计过程详解 399
16.5.5 范例开发手记 401
16.5.6 进阶与提高 401
第17章 筑起安全防火墙——网站策略与安全
21个编程技术要点
14个编程技巧说明
4个编程注意事项
5个实例应用详解
17.1 精忠报国——加密与解密Web.Config 404
17.1.1 范例功能演示 404
17.1.2 开发思路指引 404
17.1.3 专家难点解析 404
17.1.4 设计过程详解 405
17.1.5 范例开发手记 406
17.1.6 进阶与提高 406
17.2 幻影迷踪——加密与解密数据库中数据 407
17.2.1 范例功能演示 407
17.2.2 开发思路指引 407
17.2.3 专家难点解析 407
17.2.4 设计过程详解 408
17.2.5 范例开发手记 411
17.2.6 进阶与提高 411
17.3 一山不容二虎——用户单点登录 412
17.3.1 范例功能演示 412
17.3.2 开发思路指引 412
17.3.3 专家难点解析 413
17.3.4 设计过程详解 414
17.3.5 范例开发手记 415
17.3.6 进阶与提高 415
17.4 忠肝义胆——使用U口加密锁进行身份验证 416
17.4.1 范例功能演示 416
17.4.2 开发思路指引 416
17.4.3 专家难点解析 417
17.4.4 设计过程详解 417
17.4.5 范例开发手记 419
17.4.6 进阶与提高 419
17.5 三顾茅庐——会员密码三次找回功能 420
17.5.1 范例功能演示 420
17.5.2 开发思路指引 420
17.5.3 专家难点解析 421
17.5.4 设计过程详解 421
17.5.5 范例开发手记 424
17.5.6 进阶与提高 424
第18章 高级应用开发——网站开发架构设计
25个编程技术要点
15个编程技巧说明
19个编程注意事项
4个实例应用详解
18.1 两层架构在创建个人店铺中的应用 426
18.1.1 范例功能演示 426
18.1.2 开发思路指引 427
18.1.3 专家难点解析 428
18.1.4 设计过程详解 431
18.1.5 范例开发手记 433
18.1.6 进阶与提高 433
18.2 三层架构在基于XML技术留言本中的应用 434
18.2.1 范例功能演示 434
18.2.2 开发思路指引 434
18.2.3 专家难点解析 436
18.2.4 设计过程详解 437
18.2.5 范例开发手记 442
18.2.6 进阶与提高 443
18.3 多层架构在新闻发布系统中的应用 443
18.3.1 范例功能演示 443
18.3.2 开发思路指引 444
18.3.3 专家难点解析 445
18.3.4 设计过程详解 446
18.3.5 范例开发手记 449
18.3.6 进阶与提高 450
18.4 MVC框架在联系人管理网站中的应用 450
18.4.1 范例功能演示 451
18.4.2 开发思路指引 452
18.4.3 专家难点解析 453
18.4.4 设计过程详解 454
18.4.5 范例开发手记 459
18.4.6 进阶与提高 459
第3篇 模块开发篇
第19章 龙行天下搜索引擎——畅游神秘网络
8个编程技术要点
30个编程技巧说明
20个编程注意事项
1个实例应用详解
19.1 搜索引擎概述 464
19.1.1 开发背景 464
19.1.2 需求分析 464
19.1.3 系统目标 464
19.1.4 系统功能结构图 464
19.1.5 文件夹组织结构 465
19.1.6 系统预览 465
19.2 数据库设计 466
19.2.1 数据表概要说明 466
19.2.2 数据表的结构 466
19.3 关键技术详解 467
19.3.1 什么是Lucene.NET 467
19.3.2 Lucene.NET基本语法 467
19.3.3 Lucene.NET技术多字段搜索 470
19.3.4 关键字分词技术 470
19.3.5 高亮显示查询关键字 471
19.4 搜索引擎主页设计 472
19.4.1 模块功能展示 472
19.4.2 模块设计思路 472
19.4.3 模块功能实现 473
19.5 搜索引擎结果页设计 473
19.5.1 模块功能展示 473
19.5.2 模块设计思路 474
19.5.3 模块功能实现 474
19.6 程序调试与错误处理 480
第20章 明日知道——程序员的十万个问什么
9个编程技术要点
2个编程技巧说明
3个编程注意事项
1个实例应用详解
20.1 明日知道网站概述 482
20.1.1 开发背景 482
20.1.2 需求分析 482
20.1.3 系统目标 482
20.1.4 系统功能结构图 482
20.1.5 文件夹组织结构 483
20.1.6 系统预览 483
20.2 数据库设计 485
20.2.1 数据表概要说明 485
20.2.2 数据模型图 486
20.2.3 主要数据表的结构 486
20.3 关键技术详解 488
20.3.1 LINQ技术简介 488
20.3.2 LINQ to Object技术应用 488
20.3.3 LINQ to SQL技术应用 490
20.3.4 Javascript和C#之间的互相调用与访问 492
20.3.5 页面传值方式 493
20.3.6 页输出缓存 494
20.3.7 应用程序缓存 495
20.4 提问模块 496
20.4.1 模块功能展示 496
20.4.2 模块设计思路 497
20.4.3 模块功能实现 498
20.5 回复模块 500
20.5.1 模块功能展示 500
20.5.2 模块设计思路 501
20.5.3 模块功能实现 502
20.6 设置最佳答案模块 506
20.6.1 模块功能展示 506
20.6.2 模块设计思路 507
20.6.3 模块功能实现 508
20.7 关闭问题模块 510
20.7.1 模块功能展示 510
20.7.2 模块设计思路 511
20.7.3 模块功能实现 511
20.8 搜索问题模块 512
20.8.1 模块功能展示 512
20.8.2 模块设计思路 514
20.8.3 模块功能实现 514
20.9 程序调试与错误处理 517
第21章 Ajax校内数码相册——结合LINQ操作的完美体验
11个编程技术要点
7个编程技巧说明
3个编程注意事项
1个实例应用详解
21.1 Ajax校内数码相册概述 520
21.1.1 开发背景 520
21.1.2 需求分析 520
21.1.3 系统流程图 520
21.1.4 构建开发环境 521
21.1.5 文件夹组织结构 521
21.1.6 系统预览 522
21.2 数据库设计 523
21.2.1 数据表概要说明 523
21.2.2 数据模型图 523
21.2.3 主要数据表的结构 524
21.3 关键技术详解 524
21.3.1 Ajax异步的水平滚动照片(使用全新ListView控件) 524
21.3.2 Ajax扩展控件SlideShow实现幻灯片效果 525
21.3.3 Ajax密码强度提示及水印文本框 526
21.3.4 如何在母版页中使用UpdatePanel控件 527
21.3.5 应用LINQ防止SQL注入式攻击 527
21.3.6 应用LINQ操作绑定在ListView中的照片 528
21.3.7 通过LINQ to DataSet操作相册分类并实现LINQ子查询 529
21.4 幻灯片播放数码照片 530
21.4.1 播放功能展示 530
21.4.2 模块设计思路 531
21.4.3 模块功能实现 531
21.5 创建相册分类并上传照片 532
21.5.1 模块功能展示 532
21.5.2 模块设计思路 533
21.5.3 模块功能实现 534
21.6 浏览和管理上传照片 535
21.6.1 模块功能展示 535
21.6.2 模块设计思路 536
21.6.3 模块功能实现 537
21.7 数码相册分类管理 539
21.7.1 分类管理展示 539
21.7.2 模块设计思路 539
21.7.3 模块功能实现 540
21.8 程序调试与错误处理 542
21.8.1 解决IIS 7.5(Windows 7)局域网内无法浏览网站542
21.8.2 解决LINQ分页与数据绑定控件分页属性相冲突问题 543
第22章 明日网络硬盘——网络流行媒介
10个编程技术要点
7个编程技巧说明
3个编程注意事项
1个实例应用详解
22.1 网络硬盘概述 546
22.1.1 开发背景 546
22.1.2 需求分析 546
22.1.3 系统目标 546
22.1.4 系统功能结构图 546
22.1.5 文件夹组织结构 547
22.1.6 系统预览 547
22.2 数据库设计 548
22.2.1 数据表概要说明 548
22.2.2 数据表的结构 548
22.3 关键技术详解 549
22.3.1 上传文件 549
22.3.2 创建文件夹 550
22.3.3 删除文件或文件夹 550
22.3.4 文件或文件夹更名 551
22.3.5 下载文件 552
22.4 公共类设计 554
22.5 用户注册模块 556
22.5.1 模块功能展示 556
22.5.2 模块设计思路 557
22.5.3 模块功能实现 557
22.6 用户登录模块 559
22.6.1 模块功能展示 559
22.6.2 模块设计思路 559
22.6.3 模块功能实现 560
22.7 文件上传模块 561
22.7.1 模块功能展示 561
22.7.2 模块设计思路 561
22.7.3 模块功能实现 562
22.8 文件管理模块 563
22.8.1 模块功能展示 563
22.8.2 模块设计思路 563
22.8.3 模块功能实现 563
22.9 个人资料模块 574
22.9.1 模块功能展示 574
22.9.2 模块设计思路 575
22.9.3 模块功能实现 575
22.10 程序调试与错误处理 578
第4篇 商业系统篇
第23章 企业级通用进销存软件Web版——结合多样
ASP.NET前沿技术开发
9个编程技术要点
2个编程技巧说明
2个编程注意事项
1个实例应用详解
23.1 软件概述 584
23.2 系统分析 584
23.3 系统设计 585
23.3.1 项目总体规划 585
23.3.2 系统设计目标 586
23.3.3 系统流程图 586
23.3.4 系统功能结构 587
23.3.5 构建开发环境 588
23.3.6 文件夹组织结构 588
23.3.7 项目架构模式设计 589
23.3.8 系统预览 589
23.4 数据库设计 590
23.4.1 数据表概要说明 590
23.4.2 数据模型图 591
23.4.3 主要数据表的结构 593
23.4.4 创建数据库视图 597
23.4.5 创建存储过程 598
23.5 核心技术讲解 598
23.5.1 LINQ to Objects技术介绍 598
23.5.2 LINQ to SQL技术简介 599
23.5.3 应用LINQ to XML更换系统皮肤 600
23.5.4 应用LINQ 实现多表间的复杂查询 602
23.5.5 反射在实体间赋值的应用 603
23.5.6 自定义Web组件开发——分页导航组件OutPager
605
23.5.7 动态设置水晶报表数据源 606
23.5.8 泛型在多表数据提交中的应用 607
23.5.9 分布式事务协调器DTC技术应用 610
23.5.10 数据绑定控件与JavaScript应用 612
23.5.11 界面设计的“超级模板”——母版页 613
23.5.12 ASP. NET Ajax无刷新技术应用 614
23.6 主要公共类的设计 615
23.6.1 更换网页皮肤主题类BasePage 615
23.6.2 自定义GridView数据绑定控件类 616
23.6.3 自定义OurPager数据分页控件类 617
23.7 七大主要功能模块设计 620
23.7.1 货品信息管理 620
23.7.2 采购计划管理 627
23.7.3 入库单管理 631
23.7.4 销售单管理 635
23.7.5 库存盘点表 640
23.7.6 货品进销存统计 644
23.7.7 菜单权限设置 648
23.8 疑难问题分析与解决 653
23.8.1 页面缓存引起的问题 653
23.8.2 LINQ to SQL缓存机制引起的问题 653
23.8.3 窗体验证模式引起的问题 653
23.8.4 开发自定义分页控件时的刷新问题 654
23.8.5 布署到IIS服务器时涉及的文件访问权限的问题
654
23.9 程序调试与错误处理 655
23.9.1 读写XML时出现的错误 655
23.9.2 版本不一致的问题 655
23.10 核心技术和经验总结 656
23.10.1 single设计模式 656
23.10.2 工作单元模式 656
23.10.3 标志映射模式 659
23.10.4 面向接口的程序设计模式 659
23.10.5 多层次系统架构设计 659
23.10.6 关于开发自定义控件——组合控件的经验总结 659
23.10.7 软件设计和开发时把可扩展性放在第一位 659