第1部分 基础篇 3
第1堂课 走进ASP.NET的世界 3
1.1 Web开发基础知识 4
1.1.1两大网络应用体系 4
1.1.2 HTML与HTTP 4
1.1.3动态页面与静态页面 4
1.2亲密接触ASP.NET 5
1.2.1欣赏ASP.NET成功案例 5
1.2.2追溯ASP.NET发展史 6
1.2.3 ASP.NET新特性 6
1.2.4 ASP.NET网站运行原理 7
1.2.5 .NET Framework介绍 7
1.3 ASP.NET开发环境的搭建 8
1.3.1 Visual Studio 2008简介 8
1.3.2安装Visual Studio 2008 9
1.3.3配置Visual Studio 2008 11
1.3.4 IIS安装和配置 12
1.4 ASP.NET网页语法 13
1.4.1 ASP.NET网页扩展名 13
1.4.2常用页面指令 14
1.4.3注释ASPX文件内容 15
1.4.4 ASP.NET服务器控件标记语法 15
1.4.5代码块语法 17
1.4.6表达式语法 18
1.5第一个ASP.NET网站 19
1.5.1创建ASP.NET网站 19
1.5.2设计Web页面 20
1.5.3添加ASP.NET文件夹 21
1.5.4添加配置文件Web.config 22
1.5.5运行应用程序 22
1.6 ASP.NET技术学习资源 23
1.6.1利用MSDN帮助学习 23
1.6.2利用ASP.NET编程词典学习 24
1.7照猫画虎——基本功训练 25
1.7.1基本功训练1——创建存放公共类的文件夹 25
1.7.2基本功训练2——使用代码块语法输出指定字符 25
1.7.3基本功训练3——自定义快捷工具栏 26
1.7.4基本功训练4——添加程序集引用 27
1.7.5基本功训练5——更改Visual Studio 2008环境设置 28
1.8情景应用——拓展与实践 29
1.8.1情景应用1——管理重复使用的代码片断 29
1.8.2情景应用2——连接默认错误页 29
1.8.3情景应用3——设置验证级别防止非法登录 30
1.8.4情景应用4——限制上传文件大小与时间 31
1.8.5情景应用5——加密Web.config配置文件 32
1.9自我测试 33
1.10行动指南 34
1.11成功可以复制——80后新贵、泡泡网CEO李想 35
第2堂课 C#语言基础入门 37
2.1 C#语言轻松入门 38
2.1.1从第1个C#程序说起 38
2.1.2 C#代码书写规则 38
2.1.3 C#与.NET的完美结合 39
2.2数据类型 40
2.2.1值类型 40
2.2.2引用类型 41
2.2.3装箱和拆箱 41
2.3变量和常量 42
2.3.1变量的命名规则与惯例 42
2.3.2数据类型与变量 43
2.3.3变量的声明与赋值 43
2.3.4变量的作用域和生存周期 44
2.3.5常量的定义 44
2.4数据类型转换 44
2.4.1隐式类型转换 45
2.4.2显式类型转换 45
2.5运算符及表达式 46
2.5.1算术运算符与算术表达式 46
2.5.2关系运算符与关系表达式 47
2.5.3赋值运算符与赋值表达式 47
2.5.4逻辑运算符与逻辑表达式 48
2.5.5位运算符 48
2.5.6其他运算符 49
2.5.7运算符的优先集 50
2.6字符串处理技巧 50
2.6.1比较字符串 51
2.6.2定位字符及子串 51
2.6.3格式化字符串 51
2.6.4截取字符串 52
2.6.5分裂字符串 52
2.6.6插入和填充字符串 52
2.6.7删除和剪切字符串 53
2.6.8复制字符串 53
2.6.9替换字符串 54
2.7数组的应用 54
2.7.1数组的声明 54
2.7.2初始化数组 54
2.7.3数组的遍历 55
2.8照猫画虎——基本功训练 55
2.8.1基本功训练1——使用结构类型显示员工信息 55
2.8.2基本功训练2——使用引用类型实现对对象的引用 56
2.8.3基本功训练3——判断合法的用户名称和密码 57
2.8.4基本功训练4——制作一个简单加法计算器 58
2.8.5基本功训练5——加密用户密码等重要的数据信息 58
2.9情景应用——拓展与实践 60
2.9.1情景应用1——使用深复制和浅复制显示员工信息 60
2.9.2情景应用2——按值传递引用类型显示用户年龄 61
2.9.3情景应用3——优化程序性能之装箱和拆箱的最小化 62
2.9.4情景应用4——两种比较不错的密码修改方案 63
2.9.5情景应用5——将字符数组写入到字符串 65
2.10自我测试 66
2.11行动指南 67
2.12成功可以复制——“杀毒王”王江民 68
第3堂课 流程控制语句 71
3.1走进if条件语句 72
3.1.1 if语句的使用 72
3.1.2使用if…else语句实现条件选择 72
3.1.3 if语句的嵌套使用 74
3.2 switch语句的使用 76
3.2.1掌握switch语句 76
3.2.2使用switch语句实现多分支选择 77
3.3 while和do…while语句的使用 78
3.3.1使用while语句实现代码循环 79
3.3.2使用do…while语句至少执行一次循环 80
3.4 for和foreach语句的使用 81
3.4.1通过for语句实现代码循环 81
3.4.2使用foreach语句遍历数据集合 83
3.5解析跳转语句 84
3.5.1使用break语句跳出循环 84
3.5.2使用continue语句继续程序的执行 86
3.5.3通过使用goto语句实现程序跳转 87
3.5.4使用return语句使程序返回 88
3.6照猫画虎——基本功训练 89
3.6.1基本功训练1——百钱买百鸡 89
3.6.2基本功训练2——简单的循环计数器 90
3.6.3基本功训练3——判断你人生的黄金阶段 91
3.6.4基本功训练4——“大乐透”号码的排列 92
3.6.5基本功训练5——输出五言绝句《静夜思》 93
3.7情景应用——拓展与实践 94
3.7.1情景应用1——“双色球”号码排序 94
3.7.2情景应用2——接触歌德巴赫 95
3.7.3情景应用3——约瑟夫环 96
3.7.4情景应用4——二分查找算法 97
3.7.5情景应用5——快速排序算法 99
3.8自我测试 100
3.9行动指南 101
3.10成功可以复制——初中站长的创业故事 102
第4堂课 面向对象程序设计 103
4.1面向对象知多少 104
4.1.1解析面向对象 104
4.1.2面向对象三大支柱 105
4.2面向对象中类与类成员 106
4.2.1用ASP.NET创建类 106
4.2.2类的定义及其访问权限 107
4.2.3实例化类对象 109
4.2.4类的成员字段 109
4.2.5类的成员方法 111
4.2.6类的成员属性 113
4.2.7构造函数和析构函数 114
4.3面向对象之封装特性 115
4.3.1揭密封装特性 116
4.3.2封装的应用 116
4.4面向对象之继承特性 117
4.4.1继承概述 117
4.4.2应用单继承 118
4.4.3初识支持多重继承的接口 119
4.4.4应用多重继承 121
4.5面向对象之多态特性 123
4.5.1认识多态 123
4.5.2多态体验之一重载 123
4.5.3多态体验之一重写 123
4.6照猫画虎——基本功训练 124
4.6.1基本功训练1——调用类成员方法标记录入信息 124
4.6.2基本功训练2——访问存储公司名称的静态类属性 125
4.6.3基本功训练3——利用类制作简单加减法计算器 126
4.6.4基本功训练4——1=1和“1”=“1”的探讨 127
4.6.5基本功训练5——直线、图和正方形的归类 128
4.7情景应用——拓展与实践 130
4.7.1情景应用1——实现具有相同名称的接口方法 130
4.7.2情景应用2——使用分部类记录学生信息 131
4.7.3情景应用3——以包含/委托模型显示比赛信息 132
4.7.4情景应用4——.Net框架自身提供的属性 133
4.7.5情景应用5——通过抽象类和抽象方法确定动物叫声行为 134
4.8自我测试 135
4.9行动指南 136
4.10成功可以复制——缔造华人的硅谷传奇杨致远 137
第5堂课 ASP.NET内置对象 139
5.1 Response对象 140
5.1.1初识Response对象 140
5.1.2 Response对象的常用属性 140
5.1.3 Response对象的常用方法 141
5.1.4 Response对象应用 143
5.2 Request对象 143
5.2.1初识Request对象 143
5.2.2 Request对象的常用属性 143
5.2.3 Request对象的常用方法 145
5.2.4 Request对象应用 145
5.3 Application对象 146
5.3.1初识Application对象 146
5.3.2 Application对象的常用属性 146
5.3.3 Application对象的常用方法 148
5.3.4 Application对象的常用事件 149
5.4 Session对象 149
5.4.1初识Session对象 150
5.4.2 Session对象的常用属性 150
5.4.3 Session对象的常用方法 151
5.4.4 Session对象应用 151
5.5 Cookie对象 153
5.5.1初识Cookie对象 153
5.5.2 Cookie对象的常用属性 153
5.5.3 Cookie对象的常用方法 154
5.6 Server对象 155
5.6.1初识Server对象 155
5.6.2 Server对象的常用属性 155
5.6.3 Server对象的常用方法 156
5.6.4 Server对象应用 157
5.7照猫画虎——基本功训练 158
5.7.1基本功训练1——获取客户端IP地址 158
5.7.2基本功训练2——获取服务器计算机名 158
5.7.3基本功训练3——设置用户在线时间 159
5.7.4基本功训练4——输出文本文件的内容 160
5.7.5基本功训练5——判断用户登录状态 161
5.8情景应用——拓展与实践 162
5.8.1情景应用1——绘制并输出漂亮的图片 162
5.8.2情景应用2——开发站内搜索引擎 164
5.8.3情景应用3——统计网站总访问量 165
5.8.4情景应用4——实现密码记忆功能 166
5.8.5情景应用5——制作简单聊天室 168
5.9自我测试 171
5.10行动指南 172
5.11成功可以复制——征途巨人史玉柱的第一桶金 173
第2部分 提高篇 177
第6堂课 常用服务器控件 177
6.1认识服务器控件 178
6.2文本类型控件 178
6.2.1使用Label控件显示文本 178
6.2.2使用TextBox控件输入数据 180
6.3按钮类型控件 183
6.3.1通过Button控件提交表单 183
6.3.2显示图像的ImageButton控件 186
6.4选择类型控件 187
6.4.1呈现列表的ListBox控件 187
6.4.2实现下拉框的DropDownList控件 191
6.4.3实现单选的RadioButton控件 195
6.4.4能够多选的CheckBox控件 197
6.5图像显示类型控件 200
6.5.1显示图像的Image控件 200
6.5.2设置热点区域的ImageMap控件 202
6.6文件上传控件 205
6.6.1 FileUpload控件的概述 205
6.6.2 FileUpload控件的属性 206
6.6.3 FileUpload控件的方法 207
6.7照猫画虎——基本功训练 209
6.7.1基本功训练1——显示密码格式文本 209
6.7.2基本功训练2——动态添加商品信息 209
6.7.3基本功训练3——显示长日期格式时间 210
6.7.4基本功训练4——限制文本框中输入的字符长度 211
6.7.5基本功训练5——简单的加法运算器 212
6.8情景应用——拓展与实践 213
6.8.1情景应用1——输出选择的商品名称 213
6.8.2情景应用2——设置服务器控件热键 214
6.8.3情景应用3——给服务器控件添加不存在的属性 214
6.8.4情景应用4——设置窗体的默认焦点控件 215
6.8.5情景应用5——页面提交时弹出确认窗口 216
6.9自我测试 216
6.10行动指南 217
6.11成功可以复制——使计算机成为生活的必需品 218
第7堂课 ASP.NET验证控件 221
7.1何谓验证控件 222
7.1.1什么是验证控件 222
7.1.2验证控件的工作原理 222
7.2非空数据验证 223
7.2.1 RequiredFieldValidator控件 223
7.2.2 RequiredFieldValidator控件的常用属性 223
7.2.3验证用户是否输入信息 224
7.3数据比较验证 225
7.3.1 CompareValidator控件 225
7.3.2 CompareValidator控件的常用属性 225
7.3.3验证两次密码输入是否一致 228
7.4数据范围验证 229
7.4.1 RangeValidator控件 229
7.4.2 RangeValidator控件的常用属性 230
7.4.3验证输入数字是否在指定范围内 231
7.5数据输入格式验证 232
7.5.1 RegularExpressionValidator控件 232
7.5.2 RegularExpressionValidator控件常用属性 232
7.5.3验证邮件格式是否正确 234
7.6验证错误信息汇总 236
7.6.1 ValidationSummary控件 236
7.6.2 ValidationSummary控件的常用属性 236
7.6.3注册页面错误信息汇总 238
7.7照猫画虎——基本功训练 239
7.7.1基本功训练1——验证物流网址格式是否正确 239
7.7.2基本功训练2——验证学生注册系统中的邮政编码 240
7.7.3基本功训练3——身份证管理系统中验证身份证号码 240
7.7.4基本功训练4——验证会员注册时输入的年龄范围 241
7.7.5基本功训练5——验证会员充值系统中的充值金额 242
7.8情景应用——拓展与实践 243
7.8.1情景应用1——机票预订系统中限制注册用户名 243
7.8.2情景应用2——博客中验证用户名是否是汉字 244
7.8.3情景应用3——出国护照管理系统中验证护照编号 245
7.8.4情景应用4——验证会员充值系统中会员密码格式 246
7.8.5情景应用5——验证会员注册时输入的密码长度 247
7.9自我测试 248
7.10行动指南 249
7.11成功可以复制——图文世界的缔造者 249
第8堂课 ADO.NET数据库开发技术 251
8.1 ADO.NET技术知多少 252
8.1.1 ADO.NET对象模型 252
8.1.2趣味理解ADO.NET 252
8.2建立数据库连接Connection对象 253
8.2.1 Connection对象概述 253
8.2.2数据库连接字符串 254
8.2.3使用SqlConnection对象连接SQL Server数据库 255
8.2.4使用OleDbConnection对象连接OLEDB数据库 256
8.2.5使用OdbcConnection对象连接ODBC数据源 257
8.2.6使用OracleConnection对象连接Oracle数据库 257
8.3执行数据库命令Command对象 257
8.3.1 Command对象概述 258
8.3.2使用Command对象添加联系人管理数据 260
8.3.3使用Command对象修改联系人管理数据 261
8.3.4使用Command对象删除联系人管理数据 262
8.3.5调用存储过程管理联系人数据 263
8.4连线模式数据访问DataReader对象 265
8.4.1 DataReader对象概述 266
8.4.2使用DataReader对象获取数据 266
8.5离线模式数据访问DataSet和DataAdapter 268
8.5.1离线模式核心对象——DataSet对象 268
8.5.2桥梁架设工程师——DataAdapter对象 268
8.5.3填充并访问DataSet表中数据 269
8.5.4修改DataSet并更新数据源(批量更新) 270
8.6照猫画虎——基本功训练 272
8.6.1基本功训练1——访问存储用户信息的Excel文件 272
8.6.2基本功训练2——ASP.NET实现通用数据库连接 273
8.6.3基本功训练3——DataAdapter对象的Update方法批量更新商品数据 274
8.6.4基本功训练4——合并两个数据集的数据内容 275
8.6.5基本功训练5——使用DataAdapter填充多个表 276
8.7情景应用——拓展与实践 278
8.7.1情景应用1——用户登录中预防SQL注入攻击 278
8.7.2情景应用2——批量删除发布的供求信息 279
8.7.3情景应用3——使用DataView排序供求信息数据 281
8.7.4情景应用4——将个人头像以二进制流形式存储到数据库中 282
8.7.5情景应用5——强类型DataSet与SqlDataAdapter搭配查询 284
8.8自我测试 286
8.9行动指南 287
8.10成功可以复制——世界第一人称射击游戏之父 288
第9堂课 数据绑定控件 291
9.1 GridView控件 292
9.1.1 GridView控件概述 292
9.1.2 GridView控件常用的属性、方法和事件 292
9.1.3制定GridView控件的列 295
9.1.4在GridView控件中对数据进行编辑操作 296
9.1.5使用GridView控件绑定数据源 299
9.2 DataList控件 301
9.2.1 DataList控件概述 302
9.2.2使用DataList控件绑定数据源 302
9.2.3在DataList控件中对数据进行编辑操作 304
9.3 ListView控件与DataPager控件 307
9.3.1 ListView控件与DataPager控件概述 307
9.3.2使用ListView控件与DataPager控件分页显示数据 308
9.4照猫画虎——基本功训练 309
9.4.1基本功训练1——根据系别查询班级详细信息 309
9.4.2基本功训练2——使用GridView控件分页显示学生信息 311
9.4.3基本功训练3——在GridView控件中排序数据 312
9.4.4基本功训练4——为GridView控件实现复选功能 313
9.4.5基本功训练5——分页显示DataList控件中的数据 314
9.5情景应用——拓展与实践 317
9.5.1情景应用1——在GridView中实现商品信息自动编号 317
9.5.2情景应用2——获取GridView控件中隐藏的列值 318
9.5.3情景应用3——学生成绩不及格设置单元格突出显示为红色 319
9.5.4情景应用4——GridView复选框绑定列设置商品是否上架 320
9.5.5情景应用5——使用绑定表达式高亮显示搜索关键字 322
9.6自我测试 323
9.7行动指南 324
9.8成功可以复制——微型博客Twitter创始人 325
第10堂课Web用户控件 327
10.1 Web用户控件的概述 328
10.1.1什么是Web用户控件 328
10.1.2 Web用户控件的优点 328
10.2创建及使用Web用户控件 328
10.2.1创建Web用户控件 328
10.2.2将Web用户控件添加至网页 330
10.2.3使用用户控件制作博客导航条 330
10.3设置用户控件 332
10.3.1访问用户控件的属性 332
10.3.2访问用户控件中的服务器控件 333
10.3.3将Web网页转化为用户控件 334
10.4照猫画虎——基本功训练 335
10.4.1基本功训练1——利用用户控件显示热点新闻 335
10.4.2基本功训练2——通过用户控件实现站内搜索 336
10.4.3基本功训练3——使用用户控件开发会员注册 337
10.4.4基本功训练4——通过用户控件实现用户登录 339
10.4.5基本功训练5——利用用户控件开发在线投票 340
10.5情景应用——拓展与实践 343
10.5.1情景应用1——使用用户控件实现数据分页导航 343
10.5.2情景应用2——开发具有文件上传功能的用户控件 346
10.5.3情景应用3——开发具有选择日期功能的用户控件 347
10.5.4情景应用4——开发具有虚拟键盘功能的用户控件 348
10.5.5情景应用5——通过用户控件显示用户信息 350
10.6自我测试 351
10.7行动指南 352
10.8成功可以复制——因特网的点火人 353
第11堂课 母版页技术应用 355
11.1母版页的概述 356
11.1.1母版页和内容页 356
11.1.2母版页运行机制 356
11.1.3母版页的优点 356
11.2母版页的使用 356
11.2.1创建母版页 357
11.2.2创建内容页 358
11.2.3设置母版页应用范围 358
11.2.4母版页的事件 359
11.3照猫画虎——基本功训练 359
11.3.1基本功训练1——创建母版页 359
11.3.2基本功训练2——添加内容页 361
11.3.3基本功训练3——设置网站中网页的默认内容 363
11.3.4基本功训练4——以编程方式设置网页的母版 364
11.3.5基本功训练5——访问母版页上的控件 364
11.4情景应用——拓展与实践 365
11.4.1情景应用1——实现网站通用登录功能 365
11.4.2情景应用2——统计网站访问的人数 366
11.4.3情景应用3——嵌套母版页的方式开发博客主页 368
11.4.4情景应用4——提高母版页的访问性能 370
11.4.5情景应用5——访问母版页中的属性 370
11.5自我测试 371
11.6行动指南 373
11.7成功可以复制——暴雪公司的领航者 373
第12堂课 网站主题与皮肤 375
12.1主题的概述 376
12.1.1主题组成元素 376
12.1.2文件存储和组织方式 376
12.2掌握如何创建主题 377
12.2.1创建外观文件 377
12.2.2为主题添加CSS样式 378
12.3应用主题 380
12.3.1使用和禁用主题 380
12.3.2动态加载主题 381
12.4照猫画虎——基本功训练 384
12.4.1基本功训练1——在留言板中应用主题 384
12.4.2基本功训练2——为会员注册换几套新装 385
12.4.3基本功训练3——在主题中添加绚丽图片 386
12.4.4基本功训练4——设计网站注册模块外观 386
12.4.5基本功训练5——设计网站登录模块外观 387
12.5情景应用——拓展与实践 388
12.5.1情景应用1——在留言本中设置文本框主题 388
12.5.2情景应用2——为信息表格设置多种主题 389
12.5.3情景应用3——通过SkinID为控件换主题 390
12.5.4情景应用4——为文本框准备几件衣服 391
12.5.5情景应用5——禁止服务器控件更换主题 392
12.6自我测试 393
12.7行动指南 394
12.8成功可以复制——3D王国的开创者 395
第13堂课 网站导航技术 397
13.1站点地图概述 398
13.2 TreeView控件 399
13.2.1 TreeView控件的常用属性 399
13.2.2 TreeView控件的常用事件 400
13.2.3 TreeView控件的基本应用 401
13.3 Menu控件 404
13.3.1 Menu控件的常用属性 404
13.3.2 Menu控件的常用事件 405
13.3.3 Menu控件的基本应用 407
13.4 SiteMapPath控件 408
13.4.1 SiteMapPath控件的常用属性 408
13.4.2 SiteMapPath控件的常用事件 409
13.4.3 SiteMapPath控件的基本应用 409
13.5照猫画虎——基本功训练 410
13.5.1基本功训练1——实现网站后台功能导航 410
13.5.2基本功训练2——动态添加公司组织结构 411
13.5.3基本功训练3——动态实现音乐网站导航 412
13.5.4基本功训练4——实现新闻网站导航 413
13.5.5基本功训练5——实现学生管理系统导航 414
13.6情景应用——拓展与实践 415
13.6.1情景应用1——开发OA系统导航 415
13.6.2情景应用2——开发选课系统导航 416
13.6.3情景应用3——视频网站分类导航 418
13.6.4情景应用4——提示用户在网站中的位置 419
13.6.5情景应用5——实现电子商城网站导航 419
13.7自我测试 420
13.8行动指南 421
13.9成功可以复制——“盖茨第二” 422
第14堂课 ASP.NET缓存应用 425
14.1 ASP.NET缓存概述 426
14.2页面输出缓存 426
14.2.1页面输出缓存概述 426
14.2.2设置页面缓存的过期时间为当前时间加上60秒 427
14.3页面部分缓存 428
14.3.1页面部分缓存概述 428
14.3.2使用@OutputCache指令设置用户控件缓存功能 429
14.3.3使用PartialCachingAttribute类设置用户控件缓存功能 430
14.3.4使用ControlCachePolicy类 431
14.3.5缓存后替换 433
14.4页面数据缓存 433
14.5照猫画虎——基本功训练 435
14.5.1基本功训练1——使用参数缓存网页多个版本 435
14.5.2基本功训练2——使用编程方式缓存网页的多个版本 436
14.5.3基本功训练3——同时在.aspx页面和用户控件.ascx中设置缓存 437
14.5.4基本功训练4——将员工信息加入缓存中 438
14.5.5基本功训练5——将数据项从缓存中移除 439
14.6情景应用——拓展与实践 440
14.6.1情景应用1——应用AdRotator控件轮播广告图片 440
14.6.2情景应用2——使用Substitution控件API建立缓存后替换功能 441
14.6.3情景应用3——使用“索引值/数值”将作者信息加入缓存中 442
14.6.4情景应用4——使用“索引值/数值”缓存DataSet 443
14.6.5情景应用5——缓存XML文件 444
14.7自我测试 445
14.8行动指南 446
14.9成功可以复制——迅雷创始人邹胜龙 447
第15堂课 AJAX无刷新技术 449
15.1 ASP.NET AJAX初体验 450
15.1.1 AJAX开发模式 450
15.1.2 ASP.NET AJAX优点 451
15.1.3探讨ASP.NET AJAX架构 451
15.2 ASP.NET AJAX服务器端控件 451
15.2.1脚本管理员:ScriptManager控件 452
15.2.2局部更新面板:UpdatePanel控件 452
15.2.3定时操作器:Timer控件 455
15.3完美体验:酷我交流聊天室 455
15.3.1酷我交流聊天室概述 455
15.3.2核心代码演练 456
15.4炫酷效果营造者:AJAX ControlToolkit 457
15.4.1安装AJAX Control Toolkit扩展控件工具包 457
15.4.2 PasswordStrength:密码强度提示 458
15.4.3 TextBoxWatermark:添加水印提示 460
15.4.4 SlideShow:播放照片 462
15.5照猫画虎——基本功训练 464
15.5.1基本功训练1——实现在线考试倒计时(Timer控件) 464
15.5.2基本功训练2——嵌套化UpdatePanel更新时间 465
15.5.3基本功训练3——异步的分步式保存注册用户信息 467
15.5.4基本功训练4——协调两个UpdatePanel控件之间的互动 468
15.5.5基本功训练5——异步的一对多商品明细表 469
15.6情景应用——拓展与实践 470
15.61情景应用1——异步的邮件发送功能(带进度条提示) 470
15.6.2情景应用2——网站气泡提示 472
15.6.3情景应用3——AJAX购物车(嵌套UpdatePanel+GridView) 473
15.6.4情景应用4——搜索引擎中智能匹配检索功能 474
15.6.5情景应用5——仿当当网对图书实现评级功能 476
15.7自我测试 479
15.8行动指南 480
15.9成功可以复制——知识改变命运、科技改变生活 481
第16堂课 LINQ数据访问技术 483
16.1 LINQ技术概述 484
16.2 LINQ查询常用子句 485
16.2.1 from子句 485
16.2.2 where子句 486
16.2.3 select子句 487
16.2.4 orderby子句 487
16.3使用LINQ操作SQL Server数据库 488
16.3.1建立LINQ数据源 488
16.3.2执行数据的添加、修改、删除和查询操作 489
16.3.3灵活运用LinqDataSource控件 492
16.4照猫画虎——基本功训练 494
16.4.1基本功训练1——判断所有人员的年龄是否都大于30岁 494
16.4.2基本功训练2——取数组中的第一个元素 495
16.4.3基本功训练3——使用LINQ查询ArrayList 496
16.4.4基本功训练4——筛选指定类型的元素 497
16.4.5基本功训练5——查找字符串中属于标点类型的字符 498
16.5情景应用——拓展与实践 499
16.5.1情景应用1——查询用户及角色复合对象列表 499
16.5.2情景应用2——应用自定义方法筛选数据 501
16.5.3情景应用3——将字符串数组按元素长度分组 502
16.5.4情景应用4——按部门和编号排序人员列表 503
16.5.5情景应用5——反转人员列表的顺序 504
16.6自我测试 505
16.7行动指南 506
16.8成功可以复制——中国通信设备行业的领跑者任正非 507
第17堂课 程序调试与错误处理 509
17.1错误类型 510
17.1.1语法错误 510
17.1.2语义错误 510
17.1.3逻辑错误 511
17.2程序调试 511
17.2.1设定断点 511
17.2.2开始执行 512
17.2.3中断执行 514
17.2.4停止执行 514
17.2.5单步执行 514
17.2.6运行到指定位置 514
17.3错误处理 515
17.3.1服务器故障排除 515
17.3.2 ASP.NET中的异常处理 516
17.4照猫画虎——基本功训练 519
17.4.1基本功训练1——类型转换错误 519
17.4.2基本功训练2——页面在客户端转向的陷阱 521
17.4.3基本功训练3——编写javascript代码时的空格陷阱 522
17.4.4基本功训练4——用可空符号??运算的注意事项 525
17.4.5基本功训练5——用DataReader读取数据时产生的陷阱 526
17.5情景应用——拓展与实践 528
17.5.1情景应用1——为删除按钮添加删除确认对话框 528
17.5.2情景应用2——Web Service方法重载产生的陷阱 530
17.5.3情景应用3——放置隐藏字段的陷阱 532
17.5.4情景应用4——获取错误信息并到指定页面 533
17.5.5情景应用5——文件格式与文件读取的陷阱 535
17.6自我测试 537
17.7行动指南 538
17.8成功可以复制——软件业的华人教父王嘉廉 539
第3部分 高级篇 543
第18堂课 Web开发中文件处理技术 543
18.1文件的基本操作 544
18.1.1判断文件是否存在 544
18.1.2创建文件 544
18.1.3复制或移动文件 545
18.1.4删除文件 546
18.1.5获取文件基本信息 547
18.2文件夹的基本操作 547
18.2.1判断文件夹是否存在 547
18.2.2创建文件夹 547
18.2.3移动文件夹 548
18.2.4删除文件夹 549
18.2.5遍历文件夹中文件 550
18.3文件写入和读取 551
18.3.1文件的写入 551
18.3.2文件的读取 552
18.4照猫画虎——基本功训练 552
18.4.1基本功训练1——判断文件是否正在被使用 552
18.4.2基本功训练2——更改文件名称 554
18.4.3基本功训练3——使用通配符过滤文件 554
18.4.4基本功训练4——使用OpenRead方法打开现有文件并读取 555
18.4.5基本功训练5——使用OpenWrite方法打开现有文件并进行写入 556
18.5情景应用——拓展与实践 557
18.5.1情景应用1——单文件上传 557
18.5.2情景应用2——文件下载 558
18.5.3情景应用3——使用GZip在线压缩文件 559
18.5.4情景应用4——使用对称算法加密文件 561
18.5.5情景应用5——在浏览器中访问Word文件 562
18.6自我测试 563
18.7行动指南 564
18.8成功可以复制——创造互联网搜索时代 565
第19堂课 利用GDI+绘制Web图形图像 567
19.1 GDI+绘图基础 568
19.1.1 GDI+概述 568
19.1.2用GDI+能做什么 568
19.1.3创建画布Graphics对象 569
19.1.4创建画笔Pen对象 569
19.1.5创建画刷Brush对象 570
19.2基本图形绘制 574
19.2.1 GDI+中的直线和矩形 575
19.2.2 GDI+中的椭圆、弧和扇形 577
19.2.3 GDI+中的多边形 579
19.3 GDI+绘制图表的应用 581
19.3.1柱形分析图商品销售情况 581
19.3.2饼形图分析投票结果 583
19.3.3折线图形分析股票走势 586
19.4照猫画虎——基本功训练 590
19.4.1基本功训练1——用曲线消除锯齿 590
19.4.2基本功训练2——GDI+绘制基数样条 591
19.4.3基本功训练3——绘制图形路径 592
19.4.4基本功训练4——在GDI+中克隆图像 593
19.4.5基本功训练5——GDI+中的全局变换 593
19.5情景应用——拓展与实践 595
19.5.1情景应用1——绘制公章 595
19.5.2情景应用2——纹理效果显示图像 596
19.5.3情景应用3——绘制数字与字母组合的验证码 597
19.5.4情景应用4——仿Google绘制数字、字母和中文扭曲验证码 599
19.5.5情景应用5——在图片上水印文字(支持批量水印) 600
19.6自我测试 602
19.7行动指南 603
19.8成功可以复制——IT风云人物鲍岳桥 604
第20堂课 水晶报表技术 605
20.1水晶报表简介 606
20.2 .NET平台下的Crystal报表 606
20.2.1 Crystal Reports.Net简介 606
20.2.2 Crystal报表设计器的环境介绍 606
20.2.3 Crystal报表区域介绍 607
20.3 Crystal报表数据源和数据访问模式 608
20.3.1 Visual Studio 2008中Crystal Reports数据源列举 609
20.3.2报表数据访问模式之提取模式 609
20.3.3报表数据访问模式之推入模式 612
20.4水晶报表基本操作 616
20.4.1水晶报表中数据的分组与排序 616
20.4.2水晶报表中数据的筛选 618
20.5水晶报表的高级应用 621
20.5.1在水晶报表中使用图表 621
20.5.2子报表的应用 622
20.6照猫画虎——基本功训练 626
20.6.1基本功训练1——报表中使用Access数据库载入商品信息 626
20.6.2基本功训练2——筛选月销售额大于100万的商品 627
20.6.3基本功训练3——使用查询来排序报表中员工数据 629
20.6.4基本功训练4——对客户消费信息进行单层分组 630
20.6.5基本功训练5——部门销售量占公司总销售量的业绩百分比 631
20.7情景应用——拓展与实践 633
20.7.1情景应用1——电话号码登记表中设计特殊字段、图和线 633
20.7.2情景应用2——跨数据源查询学生信息 635
20.7.3情景应用3——多行多列交叉表在商品名称查询中应用 638
20.7.4情景应用4——在学生信息统计中动态打开子报表 640
20.7.5情景应用5——保持在子报表中最新的通信记录 643
20.8自我测试 645
20.9行动指南 646
20.10成功可以复制——中国第一程序员求伯君 646
第21堂课 Web Services(服务)技术 649
21.1 Web Services基础 650
21.2创建Web服务 650
21.2.1 Web服务文件 650
21.2.2 Web服务代码隐藏文件 651
21.2.3创建一个简单的Web服务 652
21.3 Web服务的基本应用 655
21.4照猫画虎——基本功训练 657
21.4.1基本功训练1——调用Web Service实现简单计算器 657
21.4.2基本功训练2——调用Web Service实现添加用户信息 660
21.4.3基本功训练3——Web Services调用存储过程实现删除数据 662
21.4.4基本功训练4——从Web Services中访问服务器变量 663
21.4.5基本功训练5——利用Web Service实现产品编号 665
21.5情景应用——拓展与实践 666
21.5.1情景应用1——利用Web Service发送手机短信 666
21.5.2情景应用2——利用Web Service发送E-mail邮件 667
21.5.3情景应用3——利用Web服务获取天气预报 668
21.5.4情景应用4——利用Web服务上传和下载图片 670
21.5.5情景应用5——利用Web服务实现验证码技术 673
21.6自我测试 676
21.7行动指南 677
21.8成功可以复制——IT“大王”王志东 678
第4部分 实战篇 681
第22堂课 ASP.NET制作网站留言板 681
22.1网站留言板概述 682
22.1.1功能设计与业务流程 682
22.1.2数据库设计 683
22.2开发前技术准备 684
22.2.1配置FrecTextBox组件 684
22.2.2应用母版页 685
22.2.3统一页面风格 687
22.3主要开发过程 687
22.3.1配置Web.Config 687
22.3.2编写程序公共类 688
22.3.3留言板主页设计 691
22.3.4发表留言模块设计 692
22.3.5留言信息查看页面设计 694
22.3.6留言信息管理设计 698
22.3.7回复留言设计 700
22.4课堂小结 702
第23堂课 AJAX校友录数码相册网 703
23.1项目概述 704
23.2项目总体设计 704
23.2.1编写项目计划书 704
23.2.2系统需求分析 706
23.2.3系统设计目标 706
23.2.4数据库设计 706
23.3搭建项目开发环境 707
23.4使用的关键技术 707
23.4.1引用AjaxControlToolkit控件 707
23.4.2 AJAX框架中SlideShowExtender控件播放照片 708
23.4.3无刷新动态获取数据库中图片地址 709
23.4.4 DataList控件实现分页 710
23.4.5 DataList控件事件冒泡浏览个人相册 712
23.5主要功能模块设计 714
23.5.1校友录数码相册网主页设计 714
23.5.2缩略图显示个人数码相册 714
23.5.3分页显示数码相册缩略图 716
23.5.4校友录数码相册网用户登录 718
23.5.5浏览电子数码相册页设计 719
23.6课堂小结 722
第24堂课 仿百度知道之明日知道 723
24.1明日知道网站概述 724
24.1.1开发背景 724
24.1.2需求分析 724
24.1.3系统目标 724
24.1.4系统功能结构图 724
24.1.5文件夹组织结构 725
24.1.6系统预览 725
24.2数据库设计 726
24.2.1数据表概要说明 726
24.2.2数据模型图 727
24.2.3主要数据表的结构 728
24.3关键技术详解 729
24.3.1 LINQ技术简介 729
24.3.2 LINQ to Object技术应用 729
24.3.3 LINQ to SQL技术应用 731
24.3.4 JavaScript和C#之间的相互调用与访问 733
24.3.5页面传值几种方式的汇总 734
24.3.6页输出缓存 735
24.3.7应用程序缓存 736
24.4提问模块 737
24.4.1模块功能展示 737
24.4.2模块设计思路 738
24.4.3模块功能实现 739
24.5回复模块 741
24.5.1模块功能展示 741
24.5.2模块设计思路 741
24.5.3模块功能实现 742
24.6设置最佳答案模块 746
24.6.1模块功能展示 746
24.6.2模块设计思路 747
24.6.3模块功能实现 748
24.7关闭问题模块 749
24.7.1模块功能展示 749
24.7.2模块设计思路 750
24.7.3模块功能实现 751
24.8搜索问题模块 752
24.8.1模块功能展示 752
24.8.2模块设计思路 753
24.8.3模块功能实现 754
24.9课堂小结 756