第一篇 从零开始学习ASP.NET 2.0 1
第1章 认识ASP.NET 2.0 1
1.1 ASP.NET 2.0是什么 1
1.2 第一个ASP.NET 2.0网站 2
1.2.1 创建网站 2
1.2.2 设计网站 3
1.2.3 通过预编译发布网站 5
1.3 ASP.NET 2.0必须具备的HTML知识 7
1.3.1 利用表单提交数据 8
1.3.2 使用表格进行布局 9
1.3.3 超级链接 10
1.3.4 CSS美化网页 10
1.4 ASP.NET 2.0必须具备的JavaScript知识 11
1.4.1 用JavaScript实现页面跳转 12
1.4.2 验证表单 12
1.4.3 JavaScript常用对象 13
1.5 常见问题 15
1.5.1 一定要熟记本章中的原理和概念吗 16
1.5.2 不懂CSS知识是否影响学习后面的内容 16
1.5.3 有C#的WinForm编程经验是否对ASP.NET开发有帮助 16
第2章 Visual Studio 2005开发环境 17
2.1 常用功能窗口介绍 17
2.1.1 主窗口 17
2.1.2 “解决方案资源管理器”窗口 19
2.1.3 “服务器资源管理器”窗口 19
2.1.4 工具箱 19
2.1.5 “属性”窗口 20
2.1.6 “错误列表”窗口 20
2.2 配置设置 21
2.2.1 自定义工具栏 21
2.2.2 “选项”对话框 22
2.2.3 导入和导出设置向导 22
2.3 类设计器 23
2.4 帮助系统 23
2.5 常见问题 24
2.5.1 自定义IDE时的布局是否能恢复到默认状态 24
2.5.2 如何将从网络下载的.NET控件添加到工具箱中 24
第3章 C# 2.0程序设计基础 25
3.1 初步认识C#语言 25
3.1.1 C#语言的特点 25
3.1.2 C#语言的程序结构 25
3.1.3 C#程序的编译 26
3.1.4 命名空间 26
3.1.5 程序的输入/输出 27
3.1.6 C#的注释 28
3.2 常量和变量 28
3.3 C#的数据类型 29
3.3.1 值类型 29
3.3.2 引用类型 32
3.3.3 装箱和拆箱 38
3.4 字符串处理 40
3.5 流程控制 41
3.5.1 条件语句 41
3.5.2 循环语句 44
3.5.3 异常处理 49
3.6 面向对象编程 52
3.6.1 创建类和对象 52
3.6.2 类的属性 53
3.6.3 类的方法 54
3.6.4 类的事件 55
3.6.5 类的继承 56
3.6.6 类的多态性 57
3.7 常见问题 59
3.7.1 到底什么是多态性 59
3.7.2 继承到底是继承了什么 59
3.7.3 值类型和引用类型有什么区别 59
第4章 ASP.NET 2.0页面基本对象 60
4.1 Application对象和Session对象 60
4.1.1 使用Application对象存储公用数据 60
4.1.2 使用Session对象存储单个用户数据 61
4.2 Request对象和Response对象 64
4.2.1 Response对象 64
4.2.2 Request对象 67
4.2.3 Response对象与Request对象综合小实例 69
4.3 Server对象 71
4.4 Page对象 74
4.5 Cookie对象 75
4.6 常见问题 77
4.6.1 Cookie欺骗是怎么回事 77
4.6.2 Cookie可以直接删除吗 77
第二篇 ASP.NET 2.0界面设计篇 79
第5章 创建智能表单 79
5.1 显示静态文本 79
5.2 TextBox控件 80
5.3 Button控件 82
5.4 单选按钮和单选按钮列表 84
5.4.1 RadioButton控件 84
5.4.2 RadioButtonList控件 86
5.5 下拉列表框 87
5.6 File Upload控件实现文件上传 88
5.7 BulletedList控件创建项目列表 91
5.7.1 创建静态项目列表 91
5.7.2 响应用户选择事件 92
5.8 Image控件显示图像 94
5.9 MultiView和View控件实现多视图 95
5.9.1 MultiView和View控件简介 95
5.9.2 MultiView和View控件使用方法 96
5.10 Localize控件显示本地化文本 98
5.11 Literal控件以编程方式控制文本 99
5.12 常见问题 100
5.12.1 如何以编程的方式操作TextBox控件 101
5.12.2 TextBox控件的AutoPostBack属性有什么作用 101
5.12.3 如何让一个控件只在需要的时候显示 101
第6章 执行表单的检验 102
6.1 使用客户端检验 102
6.1.1 配置客户端检验 102
6.1.2 启用和禁用客户端检验 102
6.2 检验必填字段 103
6.3 检验表达式 104
6.4 通过比较值检验字段 108
6.4.1 比较一个控件与另一个控件的值 108
6.4.2 比较一个控件的值与固定值 110
6.4.3 执行数据类型检查 112
6.5 检查值的范围 114
6.6 错误汇总 117
6.7 执行自定义的检验 120
6.8 禁用检验 123
6.9 常见问题 125
6.9.1 检验的使用是否频繁 126
6.9.2 对表单执行检验时应注意什么 126
6.9.3 是否可以通过编程方式来检验控件 126
第7章 高级页面开发 127
7.1 超链接 127
7.1.1 LinkButton控件实现超链接 127
7.1.2 HyperLink控件实现超链接 128
7.2 页面容器 128
7.2.1 PlaceHolder控件 129
7.2.2 Panel控件 130
7.3 实现隐藏字段 132
7.4 表格 134
7.5 广告条 136
7.6 交互式的日历 137
7.7 常见问题 139
7.7.1 PlaceHolder控件和Panel控件有什么不同 139
7.7.2 Hyperlink和LinkButton控件实现的超链接在什么时候使用最恰当 139
7.7.3 通过设计视图是否可以操作Web服务端控件 139
第8章 创建用户控件和自定义控件 140
8.1 用户控件 140
8.1.1 用户控件概述 140
8.1.2 利用用户控件实现站点计数器 141
8.1.3 将Web窗体页转化为用户控件 143
8.2 自定义控件 143
8.2.1 制作一个简单的自定义控件 143
8.2.2 对自定义控件应用控件公共属性 146
8.2.3 无需编译测试自定义控件 146
8.2.4 将控件编译为程序集 149
8.2.5 控件状态 150
8.2.6 自定义控件的属性 154
8.3 常见问题 161
8.3.1 用户控件和自定义控件哪个对开发者要求比较高 161
8.3.2 能以编程的方式来控制用户控件进行加载吗 161
第9章 使用母版页统一网站界面 162
9.1 母版页概述 162
9.2 母版页的创建 162
9.3 母版页的使用 164
9.3.1 在内容页中使用母版页 164
9.3.2 内容页和母版页的交互 166
9.3.3 母版页的嵌套 167
9.4 常见问题 169
9.4.1 母版页是否可以动态切换 169
9.4.2 母版页使用频繁吗 170
第10章 使用主题和皮肤设置页面外观 171
10.1 主题和皮肤概述 171
10.2 创建主题 171
10.3 使用主题 173
10.4 样式 174
10.5 多主题的自动切换 175
10.6 常见问题 179
10.6.1 网站有多种风格可以切换是使用的主题吗 179
10.6.2 皮肤文件除手工书写外有没有其他简便方法 179
第11章 网站导航的设计 180
11.1 创建站点地图文件 180
11.2 制作导航条 182
11.3 实现导航路径 182
11.4 制作导航菜单 184
11.5 在母版页中添加导航 185
11.6 常见问题 186
11.6.1 创建站点地图文件有没有专门的工具 186
11.6.2 SiteMapDataSource控件起什么作用 186
第三篇 ADO.NET 2.0数据库管理 187
第12章 SQL Server 2005基础 187
12.1 初步认识SQL Server 2005 187
12.1.1 SQL Server 2005的优势 187
12.1.2 SQL Server 2005的新特性 188
12.2 数据库操作 189
12.2.1 数据库相关知识 189
12.2.2 数据库的创建 190
12.2.3 数据库的修改 194
12.2.4 数据库的删除 195
12.2.5 数据库的备份和还原 196
12.3 数据表操作 198
12.3.1 了解数据表 198
12.3.2 数据表的创建 198
12.3.3 数据表的修改 200
12.3.4 数据表的删除 202
12.4 存储过程 203
12.4.1 了解存储过程 203
12.4.2 创建存储过程 203
12.4.3 执行存储过程 204
12.5 索引 204
12.5.1 索引概述 204
12.5.2 创建索引 204
12.5.3 修改、删除索引 206
12.6 视图 207
12.6.1 视图简介 208
12.6.2 创建视图 208
12.6.3 修改、删除视图 209
12.7 常见问题 209
12.7.1 SQL Server 2000数据库可以直接在SQL Server 2005中使用吗 210
12.7.2 SQL Server 2005的安全性怎么样 210
12.7.3 SQL Server 2005中的数据库可以在SQL Server 2000下直接使用吗 210
第13章 ADO.NET 2.0对象 211
13.1 ADO.NET 2.0概述 211
13.1.1 ADO.NET 2.0的新特性 211
13.1.2 ADO.NET中的对象 212
13.2 Connection对象 212
13.3 Command对象 215
13.3.1 插入数据 215
13.3.2 查询数据 217
13.3.3 更新数据 219
13.3.4 删除数据 222
13.3.5 返回单个值 224
13.4 DataReader对象 225
13.4.1 DataReader对象的常用属性和方法 225
13.4.2 使用DataReader对象读取数据 226
13.5 DataSet对象 227
13.5.1 创建DataSet对象 228
13.5.2 向DataSet中添加DataTable 228
13.5.3 将控件绑定到DataSet 229
13.5.4 通过程序创建DataTable 230
13.5.5 缓存DataSet 232
13.5.6 多个DataAdapter对象填充同一DataSet 233
13.5.7 将不同的查询填充到同一DataSet 235
13.5.8 合并DataSet 237
13.5.9 复制DataSet 240
13.6 配置应用程序 243
13.7 常见问题 244
13.7.1 介绍Connection对象时为什么在程序中出现的是SqlConnection 244
13.7.2 使用Command对象来执行SQL命令应注意什么 245
13.7.3 DataSet对象太复杂了 245
第14章 数据源控件访问数据库 246
14.1 访问SQL Server 2005数据库 246
14.1.1 使用SqlDataSource数据源控件 246
14.1.2 参数声明 248
14.1.3 缓存数据 250
14.2 访问Access数据库 251
14.2.1 连接到Access数据文件 251
14.2.2 更新Access数据库 253
14.3 显示和转换XML数据 254
14.3.1 显示XML数据 254
14.3.2 转换XML数据 256
14.4 显示站点地图 257
14.5 显示和编辑中间层业务对象中的数据 258
14.5.1 实现数据检索并返回对象实例 259
14.5.2 使用参数执行数据更新 261
14.6 常见问题 265
14.6.1 如何选择合适的数据源控件 265
14.6.2 如何访问一个带密码的Access数据库 265
第15章 数据绑定控件显示数据 266
15.1 GridView控件 266
15.1.1 绑定数据到GridView控件 266
15.1.2 数据排序并进行分页 267
15.1.3 数据编辑和删除 269
15.2 DetailsView控件 272
15.2.1 将数据绑定到DetailsView控件 272
15.2.2 对数据进行编辑和分页 273
15.2.3 数据的插入和删除 275
15.3 FormView控件 276
15.3.1 将数据绑定到FormView控件 277
15.3.2 数据的编辑、插入和删除 278
15.4 DataList控件 281
15.4.1 将数据绑定到DataList控件 281
15.4.2 进行数据的模板化显示 282
15.5 常见问题 284
15.5.1 DataList控件的使用是否频繁 284
15.5.2 在使用GridView控件的过程中要注意什么 284
15.5.3 如何在用GridView控件浏览数据时插入新数据 284
第四篇 ASP.NET 2.0高级应用 285
第16章 文件处理 285
16.1 System.IO命名空间 285
16.2 文件操作 285
16.2.1 创建文件并写入内容 285
16.2.2 复制、删除文件 288
16.2.3 读取文件内容 291
16.3 文件夹操作 293
16.3.1 创建文件夹 293
16.3.2 移动、删除文件夹 295
16.4 常见问题 298
16.4.1 操作文件和文件夹的应用是否广泛 298
16.4.2 ASP.NET中操作文件和文件夹是否比其他脚本语言更方便 298
16.4.3 使用本章所介绍的知识能做出文件管理工具吗 298
第17章 数据缓存 299
17.1 ASP.NET 2.0缓存概述 299
17.2 使用页面输出缓存 299
17.2.1 启用页面输出缓存 299
17.2.2 按参数改变缓存内容 301
17.2.3 按头改变缓存内容 303
17.2.4 使用自定义字符串改变缓存内容 304
17.2.5 设置缓存位置 305
17.3 使用页面分段缓存 306
17.4 使用页面数据缓存 308
17.5 缓存依赖项 310
17.5.1 文件缓存依赖 310
17.5.2 其他缓存依赖 311
17.6 常见问题 311
17.6.1 页面输出缓存是否可以在Web.config文件中进行配置 311
17.6.2 如何让应用程序得到缓存项被删除的消息 311
第18章 ASP.NET 2.0的安全性 312
18.1 ASP.NET 2.0的潜在威胁 312
18.2 使用基于表单的身份验证 312
18.2.1 启用并配置表单身份验证 313
18.2.2 建立登录页面 314
18.2.3 创建资源提供页 316
18.3 Windows身份验证 318
18.4 成员资格和角色管理 318
18.4.1 Membership类 318
18.4.2 成员资格提供程序 319
18.4.3 角色管理 320
18.4.4 Roles类 321
18.4.5 对角色进行保护 322
18.5 加密受保护的配置信息 324
18.6 一个用户管理系统实例 326
18.6.1 配置数据存储区 326
18.6.2 配置安全选项 328
18.6.3 建立业务对象 331
18.6.4 首页的设计 333
18.6.5 登录页的设计 337
18.6.6 用户注册页的设计 338
18.6.7 修改密码页的设计 340
18.6.8 后台管理首页的设计 341
18.6.9 角色管理页的设计 344
18.7 常见问题 352
18.7.1 脚本漏洞在代码编写时需要注意什么 352
18.7.2 如何存储敏感信息 353
18.7.3 怎样避免错误信息中暴露敏感信息 353
第19章 Web服务 354
19.1 Web服务概述 354
19.2 创建、测试和调试Web服务 354
19.2.1 创建Web服务 354
19.2.2 测试Web服务 355
19.2.3 调试Web服务 356
19.3 部署和发布Web服务 357
19.3.1 部署Web服务 357
19.3.2 为Web服务启用发现 357
19.4 为Web服务创建代理 358
19.4.1 创建代理类 358
19.4.2 创建代理程序 359
19.5 使用Web服务 360
19.5.1 本地使用Web服务 360
19.5.2 远程使用Web服务 361
19.6 常见问题 363
19.6.1 Web服务可以被控制台或者桌面程序调用吗 363
19.6.2 一个Web服务会不会有生存周期 363
19.6.3 Web服务在不同的平台上都能被调用吗 363
第五篇 实例 365
第20章 用ASP.NET 2.0制作在线投票系统 365
20.1 投票系统的功能模块 365
20.1.1 投票主题管理模块 366
20.1.2 投票项目管理模块 366
20.1.3 投票功能管理模块 366
20.2 投票系统的数据库架构 366
20.2.1 数据库表设计 366
20.2.2 数据库中数据之间的关系 367
20.3 投票主题管理模块 367
20.3.1 添加投票主题 368
20.3.2 编辑和删除投票主题 370
20.3.3 设置投票主题 371
20.4 投票项目管理模块 372
20.4.1 添加投票项目 372
20.4.2 编辑和删除投票项目 374
20.5 投票功能管理模块 375
20.5.1 获取投票主题 375
20.5.2 防作弊的投票功能 376
20.5.3 统计票数并图形化显示结果 380
20.6 投票系统后台权限管理模块 380
20.7 小结 381
第21章 用ASP.NET 2.0+XML打造BBS论坛 382
21.1 设计论坛数据库 382
21.1.1 设计数据表结构 382
21.1.2 设置数据表关系 383
21.1.3 配置数据库的Provider模式 384
21.1.4 配置Web.config中的数据库连接 386
21.1.5 添加数据库访问类 386
21.2 新用户入口 387
21.2.1 用户的注册 387
21.2.2 用户的登录 387
21.3 论坛类别管理模块 388
21.3.1 添加论坛的类别 388
21.3.2 编辑论坛的类别 390
21.3.3 显示论坛的类别 391
21.4 论坛的帖子管理模块 392
21.4.1 帖子列表的显示 392
21.4.2 实现发帖功能 393
21.4.3 显示帖子的详细信息 398
21.4.4 帖子的回复 400
21.5 小结 404