第1部分 基础入门 3
第1章ASP.NET技术入门 3
1.1 ASP.NET技术简介 4
1.1.1 ASP.NET发展历程、优点及新特性 4
1.1.2 ASP.NET的运行原理与运行机制 5
1.2学习组建ASP.NET开发环境 7
1.2.1安装IIS服务器 7
1.2.2安装Visual Studio 2008集成开发工具 9
1.3掌握ASP.NET网页语法 12
1.3.1 ASP.NET网页扩展名 13
1.3.2常用页面指令 13
1.3.3 ASPX文件内容注释 18
1.3.4 ASP.NET服务器控件标记语法 18
1.3.5表达式语法 19
1.4制作一个ASP.NET网站 19
1.4.1创建ASP.NET网站并熟悉开发环境 20
1.4.2设计Web页面 21
1.4.3添加ASP.NET文件夹 22
1.4.4运行应用程序 23
1.4.5配置IIS虚拟站点 23
1.5 ASP.NET技术学习资源——利用MSDN帮助学习ASP.NET技术 25
1.6本章小结 27
1.7实战练习 27
第2章C#语言基础 29
2.1 C#语言简介 30
2.2代码编写规则 30
2.2.1代码书写规则 30
2.2.2代码注释及规则 31
2.3创建控制台应用程序 31
2.4数据类型 33
2.4.1值类型的使用 34
2.4.2引用类型的使用 36
2.5变量和常量 37
2.5.1变量的声明和赋值 37
2.5.2定义常量、使用常量 39
2.6数据类型转换 40
2.6.1隐式类型转换 40
2.6.2显式类型转换 41
2.6.3装箱和拆箱 42
2.7 C#中运算符 44
2.7.1算术运算符 44
2.7.2赋值运算符 47
2.7.3关系运算符 48
2.7.4逻辑运算符 52
2.7.5移位运算符 56
2.7.6其他特殊运算符 57
2.7.7运算符的优先级 60
2.8实战 61
2.8.1利用运算符判断用户名称和密码 61
2.8.2判断一个数是否是素数 62
2.9本章小结 63
2.10实战练习 63
第3章C#控制语句与数组 65
3.1流程控制 66
3.1.1有效使用分支语句 66
3.1.2有效使用循环语句 73
3.2数组的基本操作 80
3.2.1数组的声明 80
3.2.2初始化数组 81
3.3实战 81
3.3.1哥德巴赫猜想的算法 81
3.3.2使用数组解决约瑟夫环问题 83
3.4本章小结 85
3.5实战练习 85
第4章 面向对象程序设计 87
4.1面向对象编程概述 88
4.2创建类与类的成员 89
4.2.1创建类 89
4.2.2构造函数和析构函数 90
4.2.3实例化类对象 91
4.2.4控制访问权限 92
4.2.5定义成员字段 94
4.2.6定义成员方法 94
4.2.7定义成员属性 97
4.3封装特性 98
4.3.1封装概述 98
4.3.2封装的实现 98
4.4继承特性 99
4.4.1继承概述 100
4.4.2继承的实现 100
4.4.3单继承的使用 102
4.4.4多重继承的使用 104
4.5多态特性 106
4.5.1多态概述 106
4.5.2多态的实现 106
4.6实战 109
4.6.1面向对象思想实现简单计算器 109
4.6.2面向对象思想实现字符串中查找数字 110
4.7本章小结 111
4.8实战练习 111
第5章ASP.NET常用服务器控件 113
5.1文本类型控件 114
5.1.1 Label控件 114
5.1.2 TextBox控件 116
5.2按钮类型控件 117
5.2.1 Button控件 118
5.2.2 ImageButton控件 119
5.3链接类型控件 121
5.3.1 HyperLink控件 121
5.3.2 LinkButton控件 122
5.4选择类型控件 124
5.4.1 ListBox控件 124
5.4.2 DropDownList控件 128
5.4.3 RadioButton控件 130
5.4.4 CheckBox控件 133
5.5图像显示类型控件 135
5.5.1 Image控件 135
5.5.2 ImageMap控件 137
5.6 FileUpload文件上传控件 141
5.6.1 FileUpload控件的概述 141
5.6.2使用FileUpload控件上传图片文件 142
5.7实战 143
5.7.1网站会员登录 143
5.7.2 ASP.NET上传大文件 144
5.8本章小结 146
5.9实战练习 146
第6章ASP.NET内置对象 147
6.1 Response对象 148
6.1.1 Response对象概述 148
6.1.2 Response对象常用属性、方法 148
6.1.3在页面中输出数据 149
6.1.4页面跳转并传递参数 150
6.2 Request对象 151
6.2.1 Request对象概述 151
6.2.2 Request对象常用属性、方法 151
6.2.3获取页面间传送的值 152
6.2.4获取客户端浏览器信息 153
6.3 Application对象 154
6.3.1 Application对象概述 154
6.3.2 Application对象常用集合、属性和方法 154
6.3.3设计一个访问计数器 155
6.3.4利用Application对象制作简单聊天室 156
6.4 Session对象 158
6.4.1 Session对象概述 158
6.4.2 Session对象常用集合、属性和方法 158
6.4.3使用Session对象存储和读取数据 159
6.5 Cookie对象 160
6.5.1 Cookie对象概述 160
6.5.2 Cookie对象常用属性、方法 161
6.5.3使用Cookie对象保存和读取客户端信息 161
6.6 Server对象 162
6.6.1 Server对象概述 162
6.6.2 Server对象常用属性、方法 162
6.6.3使用Server.Execute方法和Server.transfer方法重定向页面 163
6.6.4使用Server.MapPath方法获取服务器的物理地址 164
6.6.5对字符串进行编码和解码 164
6.7实战 165
6.7.1制作一个具有私聊功能的聊天室 165
6.7.2制作一个投票系统 169
6.8本章小结 171
6.9实战练习 171
第2部分 技术应用 175
第7章 数据验证技术 175
7.1非空数据验证 176
7.1.1 RequiredFieldValidator控件 176
7.1.2 RequiredFieldValidator控件验证实例 177
7.2数据比较验证 177
7.2.1 CompareValidator控件 177
7.2.2 CompareValidator控件验证实例 179
7.3数据输入格式验证 180
7.3.1 RegularExpressionValidator控件 180
7.3.2 RegularExpressionValidator控件验证实例 181
7.4数据范围验证 183
7.4.1 RangeVarydator控件 183
7.4.2 RangeValidator控件验证实例 184
7.5验证错误信息显示 185
7.5.1 ValidationSummary控件 185
7.5.2 ValidationSummary控件验证实例 186
7.6屏蔽数据验证 187
7.7本章小结 188
7.8实战练习 188
第8章 母版页技术 189
8.1母版页的概述 190
8.1.1母版页和内容页 190
8.1.2母版页运行机制 190
8.1.3母版页的优点 190
8.2创建母版页 191
8.3创建内容页 192
8.4嵌套母版页 193
8.5访问母版页的控件和属性 196
8.5.1使用Master.FindControl方法访问母版页上的控件 196
8.5.2引用@MasterType指令访问母版页上的属性 197
8.6本章小结 199
第9章 网站主题 201
9.1主题的概述 202
9.1.1组成元素 202
9.1.2文件存储和组织方式 202
9.2创建主题 203
9.2.1创建外观文件 203
9.2.2为主题添加CSS样式 205
9.3应用主题 207
9.3.1使用和禁用主题 207
9.3.2动态加载主题 208
9.4本章小结 210
9.5实战练习 211
第10章ADO.NET技术进行数据库开发 213
10.1 ADO.NET技术简介 214
10.2使用Connection对象连接数据库 214
10.2.1使用SqlConnection对象连接SQL Server 2005数据库 215
10.2.2使用OleDbConnection对象连接数据库 215
10.2.3使用OracleConnection对象连接Oracle数据库 216
10.3使用Command对象操作数据 216
10.3.1使用Command对象查询数据 217
10.3.2使用Command对象添加数据 218
10.3.3使用Command对象修改数据 220
10.3.4使用Command对象删除数据 221
10.3.5使用Command对象调用存储过程 222
10.4使用DataSet对象和DataAdapter对象 223
10.4.1使用DataAdapter对象填充DataSet对象 224
10.4.2使用DataAdapter更新数据库中数据 225
10.5使用DataReader对象读取数据 226
10.5.1使用DataReader对象读取数据 227
10.5.2 DataReader对象与DataSet对象的区别 229
10.6实战 230
10.6.1向SQL Server数据库中添加数据 230
10.6.2将文件保存到SQL Server数据库中 232
10.7本章小结 233
10.8实战练习 233
第11章 数据控件的应用 235
11.1 GridView控件 236
11.1.1 GridView控件常用的属性、方法和事件 236
11.1.2使用GridView控件绑定数据源 239
11.1.3设置GridView控件的外观 242
11.1.4制定GridView控件的列 244
11.1.5查看GridView控件中数据的详细信息 245
11.1.6使用GridView控件分页显示数据 247
11.1.7在GridView控件中对数据进行编辑操作 248
11.2 DataList控件 250
11.2.1使用DataList控件绑定数据源 250
11.2.2分页显示DataList控件中的数据 252
11.2.3利用DataList控件智能化查看详细信息 255
11.2.4在DataList控件中实现数据进行编辑操作 256
11.3本章小结 259
11.4实战练习 259
第12章 网站导航技术 261
12.1站点地图概述 262
12.2 TreeView控件 262
12.2.1 TreeView控件常用的属性和事件 263
12.2.2 TreeView控件的基本应用 265
12.2.3 TreeView控件绑定数据库中数据 266
12.2.4使用TreeView控件实现网站导航 268
12.3 Menu控件 269
12.3.1 Menu控件常用的属性和事件 269
12.3.2 Menu控件的基本应用 270
12.3.3 Menu控件绑定XML文件实现网站导航 271
12.4 SiteMapPath控件 272
12.4.1 SiteMapPath控件常用的属性和事件 273
12.4.2使用SiteMapPath控件实现站点导航 274
12.5实战 274
12.5.1管理系统网站导航(一) 274
12.5.2管理系统网站导航(二) 276
12.6本章小结 278
12.7实战练习 279
第13章Web用户控件 281
13.1 Web用户控件概述 282
13.1.1 Web用户控件与Web窗体比较 282
13.1.2用户控件的优点 282
13.2创建及使用Web用户控件 282
13.2.1创建Web用户控件 283
13.2.2将Web用户控件添加至网页 283
13.2.3使用Web用户控件制作博客导航条 284
13.3设置用户控件 286
13.3.1访问用户控件的属性 286
13.3.2访问用户控件中的服务器控件 287
13.3.3将Web网页转化为用户控件 288
13.4实战 289
13.4.1制作一个站内查询、搜索用户控件 289
13.4.2制作一个网站的友情链接用户控件 290
13.5本章小结 291
13.6实战练习 292
第14章 程序调试与错误处理 293
14.1错误类型 294
14.1.1语法错误 294
14.1.2语义错误 294
14.1.3逻辑错误 294
14.2程序调试 295
14.2.1断点 295
14.2.2开始执行 296
14.2.3中断执行 297
14.2.4停止执行 297
14.2.5单步执行 297
14.2.6运行到指定位置 297
14.3错误处理 298
14.3.1服务器故障排除 298
14.3.2 ASP.NET中的异常处理 299
14.4本章小结 301
14.5实战练习 302
第15章ASP.NETAjax 303
15.1 Ajax定义 304
15.2 Ajax运行原理 304
15.3创建Ajax网站 304
15.4 Ajax服务器控件 305
15.4.1 ScriptManager控件 305
15.4.2 UpdatePanel控件 306
15.4.3 Timer控件 308
15.5实战 308
15.5.1倒计时程序 308
15.5.2无刷新模式聊天室 309
15.6本章小结 310
15.7实战练习 310
第16章LINQ数据访问技术 311
16.1 LINQ技术概述 312
16.1.1查询与LINQ的区别 312
16.1.2 LINQ基本组成 312
16.1.3 LINQ与ADO.NET的关系 313
16.2 LINQ查询常用子句 313
16.2.1 from子句 314
16.2.2 where子句 314
16.2.3 select子句 315
16.2.4 group by子句 316
16.2.5 orderby子句 317
16.2.6 into子句 318
16.3使用LINQ技术对数据库开发 319
16.3.1查询数据库中数据 320
16.3.2向数据库中添加数据 321
16.3.3修改数据库中数据 322
16.3.4删除数据库中数据 324
16.4实战 325
16.4.1 LINQ查询结果绑定到DropDownList控件 325
16.4.2 LINQ查询结果绑定GridView控件 326
16.4.3 LINQ查询结果绑定DataList控件 327
16.4.4 LINQ防止SQL注入式攻击 329
16.4.5 LINQ查询结果作为数据源并实现分页 330
16.5本章小结 332
16.6实战练习 333
第17章 电子邮件发送技术 335
17.1 SMTP服务器发送电子邮件 336
17.1.1搭建SMTP服务环境 336
17.1.2 System.Web.Mail命名空间 338
17.1.3使用MailMessage类创建电子邮件 339
17.1.4使用MailAttachment类添加附件 339
17.1.5使用SmtpMail发送电子邮件 340
17.2 Jmail组件发送电子邮件 340
17.2.1 Jmail组件的常用属性与方法 340
17.2.2 Jmail组件的引用 341
17.2.3实现单用户发送电子邮件 341
17.3实战 344
17.3.1在ASP.NET程序中发送电子邮件 344
17.3.2利用Jmail群发电子邮件 346
17.4本章小结 348
17.5实战练习 348
第18章Web服务技术 349
18.1 Web Services基础 350
18.2创建Web服务 350
18.2.1 Web服务文件的指令 350
18.2.2 Web服务代码隐藏文件 351
18.2.3创建一个简单的Web服务 352
18.3实战 356
18.3.1 ASP.NET网站中调用Web服务 356
18.3.2利用Web Service获取手机号码所在地 360
18.3.3利用Web服务上传和下载图片 360
18.4本章小结 364
18.5实战练习 364
第19章 网站安全与策略 365
19.1安全性概述 366
19.2身份验证 366
19.2.1基于Windows的身份验证模式 366
19.2.2基础窗体的身份验证模式 369
19.2.3 Passport身份验证模式 377
19.3授权(Authorization) 377
19.3.1 ASP.NET提供的授权方式 378
19.3.2使用User.Identity对象 379
19.3.3使用User.IsInRole方法 379
19.3.4使用WindowsIdentity类 380
19.4实战 382
19.5本章小结 385
19.6实战练习 385
第3部分 项目实战 389
第20章 网站会员注册与登录 389
20.1网站会员注册与登录概述 390
20.1.1会员注册与登录业务流程 390
20.1.2数据库/表设计 391
20.2使用的关键技术 391
20.2.1防止SQL注入式攻击技术 391
20.2.2网站安全验证码技术 392
20.2.3智能化验证注册的会员名 393
20.2.4智能化验证密码的强弱 394
20.2.5无解密MD5加密技术 395
20.2.6智能化提示输入信息样例 395
20.3主要功能开发过程 397
20.3.1网站会员登录设计 397
20.3.2网站会员注册设计 399
20.3.3安全验证码技术设计 404
20.4经验总结 406
第21章ASP.NET制作网站留言板 407
21.1 ASP.NET制作网站留言板概述 408
21.1.1功能设计与业务流程 408
21.1.2数据库设计 408
21.2开发前的技术准备 410
21.2.1配置第三方FreeTextBox组件 410
21.2.2应用Visual Studio 2008母版页 412
21.2.3定义CSS样式统一页面风格 413
21.3主要功能开发过程 414
21.3.1配置Web.Confiig 414
21.3.2编写程序公共类 415
21.3.3留言板主页设计 418
21.3.4发表留言模块设计 419
21.3.5查看留言页面设计 422
21.3.6留言管理页面设计 426
21.3.7回复留言模块设计 428
第22章 网上银行在线安全支付 431
22.1网上银行在线安全支付概述 432
22.1.1在线银行支付内幕 432
22.1.2在线银行支付业务流程 432
22.2使用的关键技术 432
22.2.1商户提交表单定义接口 432
22.2.2使用DataList控件显示商品数据 435
22.3在线银行支付类的封装与设计 439
22.3.1创建BankPay银行支付类 440
22.3.2封装BankPay银行支付类 440
22.4主要功能开发过程 444
22.4.1商城在线订单生成页 444
22.4.2在线银行支付方式选择页 448
22.4.3工商银行在线支付页 449
22.5程序错误与调试 451
第23章 明日社区网 453
23.1明日社区网概述 454
23.2关键技术要点 455
23.2.1社区网合理有效地使用IFrame框架 455
23.2.2第三方组件FreeTextBox的使用 456
23.2.3以缩略图形式上传图片 458
23.2.4 3层开发设计模式 458
23.3明日社区网开发过程 461
23.3.1数据库设计 461
23.3.2配置Web.Confiig 463
23.3.3创建公共类 463
23.3.4主要功能设计 472
第24章 校友录数码相册网 487
24.1项目概述 488
24.2项目总体设计 488
24.2.1编写项目计划书 488
24.2.2系统需求分析 490
24.2.3系统设计目标 490
24.2.4数据库设计 491
24.3搭建项目开发环境 491
24.4使用的关键技术 492
24.4.1引用AjaxControlToolkit控件 492
24.4.2 Ajax框架中SlideShowExtender控件播放照片 492
24.4.3无刷新动态获取数据库中图片地址 494
24.4.4 DataList控件实现分页 495
24.4.5 DataList控件事件冒泡浏览个人相册 497
24.5主要功能模块设计 499
24.5.1校友录数码相册网主页设计 499
24.5.2缩略图显示个人数码相册 499
24.5.3分页显示数码相册缩略图 502
24.5.4校友录数码相册网用户登录 504
24.5.5浏览电子数码相册页设计 505
24.6本章小结 508