第1章 ASP.NET入门基础 1
1.1 ASP.NET简介 1
1.1.1 ASP.NET的发展、内容和特性 1
1.1.2 ASP.NET的特色优势 2
1.2 .NET Framework 3
1.2.1 .NET Framework简介 3
1.2.2 公共语言运行时 4
1.2.3 类库 5
1.3 ASP.NET开发环境的搭建 6
1.3.1 安装Visual Studio 2010 6
1.3.2 安装IIS 9
1.4 项目案例:创建第一个ASP.NET网站 12
1.5 习题 17
1.6 实践疑难解答 18
第2章 ASP.NET的控件应用 20
2.1 控件的分类 20
2.1.1 HTML服务器控件 20
2.1.2 Web服务器控件的共有属性、方法和事件 21
2.2 文本服务器控件 22
2.2.1 Label控件和HyperLink控件 22
2.2.2 Literal控件 23
2.2.3 TextBox控件 23
2.3 按钮服务器控件 24
2.3.1 Button控件 24
2.3.2 ImageButton控件和LinkButton控件 26
2.4 图像类控件 26
2.4.1 Image控件 26
2.4.2 ImageMap控件 27
2.5 选择服务器控件 29
2.5.1 CheckBox控件和CheckedListBox控件 29
2.5.2 RadioButton控件和RadioButtonList控件 32
2.6 列表服务器控件 34
2.6.1 ListBox控件 34
2.6.2 DropDownList控件 37
2.6.3 BulletedList控件 40
2.7 容器服务器控件 42
2.7.1 Panel控件 43
2.7.2 MultiView控件 43
2.8 验证服务器控件 47
2.8.1 验证控件概述 47
2.8.2 RequiredFieldValidator控件 47
2.8.3 RangeValidator控件 49
2.8.4 CompareValidator控件 50
2.8.5 RegularExpressionValidator控件 51
2.8.6 CustomValidator控件 52
2.8.7 ValidationSummary控件 55
2.9 项目案例:实现注册博客用户的功能 56
2.10 习题 59
2.11 实践疑难解答 61
2.11.1 ASP.NET中如何避开服务器控件的验证 61
2.11.2 DropDownList控件回传数据 61
第3章 ASP.NET的系统对象和状态管理 62
3.1 ASP.NET运行机制 62
3.2 系统对象 63
3.2.1 Request对象 63
3.2.2 Response对象 65
3.2.3 Page对象 66
3.3 状态保持 70
3.3.1 Cookie对象 70
3.3.2 Session对象 72
3.3.3 Application对象和Global.asax文件 75
3.3.4 ViewState对象 78
3.3.5 状态对象的异同点 80
3.4 Server对象 81
3.5 项目案例:实现简单的聊天系统 83
3.6 习题 88
3.7 实践疑难解答 90
3.7.1 ASP.NET页面传值问题 90
3.7.2 ASP.NET中Session丢失的原因 91
3.7.3 使用Response对象输出图像 91
第4章 站点导航控件和母版页搭建框架 93
4.1 站点导航控件 93
4.1.1 站点地图 93
4.1.2 SiteMapPath控件 95
4.1.3 TreeView控件 97
4.1.4 Menu控件 101
4.2 母版页 103
4.2.1 网页典型布局 103
4.2.2 母版页 104
4.2.3 内容页 106
4.3 主题 107
4.3.1 主题概述 107
4.3.2 加载主题的多种方式 108
4.3.3 Theme和StylesheetTheme的比较 111
4.4 项目案例:使用母版页和导航控件搭建框架 111
4.5 习题 114
4.6 实践疑难解答 117
4.6.1 导航控件的具体使用 117
4.6.2 ASP.NET母版页中对控件ID的处理 117
第5章 ADO.NET技术访问数据库 119
5.1 ADO.NET简介 119
5.1.1 ADO.NET组件 119
5.1.2 ADO.NET基本对象 120
5.2 使用SqlConnection对象连接数据库 120
5.2.1 SqlConnection对象 121
5.2.2 连接数据库 121
5.3 SqlCommand对象和SqlDataReader对象读取数据 124
5.3.1 SqlCommand对象 125
5.3.2 SqlDataReader对象 126
5.3.3 使用ExecuteNonQuery()方法添加数据 127
5.3.4 使用Read()方法读取数据 128
5.4 DataSet对象和SqlDataAdapter对象 131
5.4.1 DataSet对象 131
5.4.2 SqlDataAdapter对象 133
5.4.3 使用SqlDataAdapter对象填充DataSet对象 133
5.4.4 DataTable和DataView 135
5.4.5 SqlDataReader和DataSet的区别 138
5.5 项目案例:操作人员管理后台数据 138
5.6 习题 144
5.7 实践疑难解答 147
5.7.1 使用Read()方法读取空数据 147
5.7.2 ADO.NET中如何执行带有参数的SQL语句 148
第6章 ASP.NET的数据展示技术 149
6.1 数据绑定技术 149
6.1.1 简单数据绑定技术 149
6.1.2 复杂数据绑定技术 150
6.2 数据源控件 151
6.3 数据绑定控件 156
6.4 GridView控件 157
6.4.1 GridView控件概述 157
6.4.2 GridView控件的模板、行和数据绑定列的类型 160
6.4.3 GridView控件的简单使用 162
6.5 DetailsView控件 166
6.6 DataList控件 170
6.6.1 DataList控件概述 170
6.6.2 使用DataList控件的模板显示数据 171
6.7 Repeater控件 175
6.8 ListView控件和DataPager控件 178
6.9 项目案例:使用GridView控件对联系人进行操作 182
6.10 习题 191
6.11 实践疑难解答 194
6.11.1 DataList控件如何实现对数据的编辑操作 194
6.11.2 GridView、DataList和Repeater如何实现自动编号 195
6.11.3 刷新页面后如何让数据不回到页面顶端 196
第7章 ASP.NET控件的高级应用 198
7.1 用户控件 198
7.1.1 用户控件概述 199
7.1.2 创建和使用用户控件 199
7.1.3 将Web窗体页转化为用户控件 201
7.1.4 用户控件与Web窗体页的区别 201
7.2 常用的第三方控件 202
7.2.1 在线编辑器控件 202
7.2.2 验证码控件 212
7.2.3 自定义验证码类 214
7.2.4 分页控件 219
7.3 模块处理程序 224
7.3.1 HttpModule和HttpHandler 224
7.3.2 封面图片水印的实现(局部HttpHandler方式) 224
7.3.3 封面图片水印的实现(全局HttpHandler方式) 227
7.4 代码生成工具CodeSmith 229
7.4.1 CodeSmith概述 229
7.4.2 使用CodeSmith 229
7.5 项目案例:论坛内容的显示和添加 233
7.6 习题 240
7.7 实践疑难解答 243
7.7.1 如何在窗体页面访问用户控件中的控件值 243
7.7.2 如何将输入的验证码进行全角半角的转换 243
7.7.3 CodeSmith新建模板的中文乱码问题 245
第8章 缓存技术 246
8.1 缓存概述 246
8.2 页面输出缓存 247
8.2.1 页面输出缓存概述 247
8.2.2 使用缓存显示登录时间 248
8.3 页面部分缓存 251
8.3.1 控件缓存 251
8.3.2 缓存后替换 255
8.4 页面数据缓存 259
8.4.1 数据缓存概述 259
8.4.2 使用Cache类实现数据缓存 261
8.4.3 CacheDependency依赖类缓存XML文件 266
8.5 项目案例:数据库缓存依赖 268
8.6 习题 273
8.7 实践疑难解答 275
8.7.1 ASP.NET页面缓存 275
8.7.2 AdRotator控件实现缓存后替换 275
第9章 文件和目录处理 277
9.1 获取文件属性 277
9.2 文件管理 279
9.2.1 判断文件是否存在 279
9.2.2 创建文件 280
9.2.3 复制文件 282
9.2.4 移动文件 284
9.2.5 删除文件 286
9.3 获取目录容量 288
9.4 目录处理 290
9.4.1 判断目录是否存在 290
9.4.2 创建目录 291
9.4.3 移动目录 293
9.4.4 删除目录 295
9.4.5 遍历目录 297
9.5 文本文件的读写操作 299
9.5.1 使用StreamReader类读取文件 299
9.5.2 使用StreamWriter类写入文件 301
9.6 文件上传与下载 303
9.6.1 文件上传 303
9.6.2 文件下载 305
9.7 项目案例:简单的文件浏览器 308
9.8 习题 314
9.9 实践疑难解答 317
9.9.1 ASP.NET上传文件时设置最大限制 317
9.9.2 如何删除目录中的文件 317
第10章 ASP.NET Ajax技术 319
10.1 ASP.NET Ajax概述 319
10.1.1 Ajax概念 319
10.1.2 ASP.NET Ajax简介 321
10.2 XMLHttpRequest对象 322
10.2.1 XMLHttpRequest对象的属性和方法 322
10.2.2 XMLHttpRequest对象的简单使用 324
10.2.3 处理XML格式的数据 326
10.3 ASP.NET Ajax应用 329
10.3.1 ScriptManager控件 329
10.3.2 UpdatePanel控件 330
10.3.3 UpdateProgress控件 332
10.3.4 Timer控件 334
10.4 ASP.NET Ajax ControlToolkit应用 336
10.4.1 添加ControlToolkit工具包 337
10.4.2 Accordion控件 338
10.4.3 AutoCompleteExtender控件 341
10.4.4 Rating控件 345
10.5 项目案例:通过淘宝商品页实现效果显示 347
10.6 习题 351
10.7 实践疑难解答 354
10.7.1 UpdatePanel控件下如何使用UploadFile控件 354
10.7.2 Ajax中的GET和POST提交数据的问题 354
第11章 Web服务 356
11.1 Web服务概述 356
11.1.1 Web服务简介 356
11.1.2 Web服务的使用场合 357
11.1.3 Web服务的技术架构 360
11.2 Web服务的基本使用 361
11.2.1 调用存在的Web服务 361
11.2.2 调用自定义的Web服务 363
11.3 设置Web服务 366
11.3.1 WebService的属性设置 366
11.3.2 WebMethod的属性设置 368
11.4 集成第三方Web服务 371
11.4.1 天气预报 371
11.4.2 查看电视节目 374
11.4.3 简体字和繁体字的相互转换 379
11.5 习题 381
11.6 实践疑难解答 384
11.6.1 调用服务出现有潜在的Request.Form值提示 384
11.6.2 添加Web引用和服务引用的区别 384
11.6.3 WebMethod和WebMethod()的区别 385
第12章 在线考试管理系统 386
12.1 系统概述 386
12.1.1 系统简介 386
12.1.2 开发环境 387
12.2 功能模块设计分析 387
12.2.1 登录 388
12.2.2 个人资料管理 388
12.2.3 用户信息管理 388
12.2.4 系别管理 389
12.2.5 考试科目管理 390
12.2.6 考试试题管理 390
12.2.7 试卷出题与维护 390
12.2.8 学生考试 391
12.2.9 学生试卷管理 391
12.2.10 退出系统 391
12.3 设计数据库 391
12.4 公共模块 397
12.4.1 搭建三层框架 397
12.4.2 配置web.config 398
12.4.3 SqlHelper类 399
12.4.4 系统主界面 402
12.5 登录模块 405
12.6 个人资料管理 410
12.7 用户信息管理 411
12.7.1 用户管理 412
12.7.2 权限管理 418
12.8 系别管理 419
12.9 考试科目管理 422
12.10 考试试题管理 423
12.10.1 填空题管理 423
12.10.2 单选题管理 424
12.10.3 多选题管理 425
12.10.4 简答题管理 426
12.11 试卷出题与维护 427
12.11.1 试卷出题 427
12.11.2 试卷维护 429
12.12 学生考试 430
12.12.1 考试试题 430
12.12.2 考试记录 431
12.13 学生试卷管理 431
12.13.1 试卷评审 431
12.13.2 学生成绩 432
12.14 系统退出 433