忙活了半年的书已经交稿,年后就要出版


ASP.NET入门第一步 基于C#和ASP.NET2.0
清华大学出版社负责发行出版


简介:

 ASP.NET 2.0是微软公司继ASP.NET 1.1后推出的全新WEB应用程序开发技术。ASP.NET 2.0有开发效率高、扩展性强等特点,作为微软WEB应用开发的新一代利器,ASP.NET 2.0在企业级的开发应用上也能和JAVA进行抗衡。
本书的读者对象:
初学者。但这里所指的初学者绝不是单纯指对计算机一无所知的人,而是指正准备涉足某个计算机领域的人。一个领域的初涉者,这就是这里所出现的初学者这个词的含义,这个系列也就是给这样的人来写的。不排除此人在某些其它计算机领域已经达到专家水平的可能。一个好学的人从某种意义某个角度上说总是一个初学者。这套书正是为这样一些人而写的。
本书的特点:
 没有浪费的篇幅:本书涉及的内容非常广,每一章都短小精悍,保证每一个知识点都分析透彻的同时又没有任何重复的内容。
 语言贴近初学者:本书没有MSDN的定义和示例,对难懂的知识点都有贴切的比喻帮助初学者理解。
 独特的章节安排:既不是一个参考大全又不由代码堆积而成,完全是作者的心得和经验。作者根据切入点和难点来安排章节,保证了初学者能不知不觉地顺畅阅读。
 独特的教学方式:本书倡导从示例入手的教学方式,先手把手让您获取成果再分析为什么能增加初学者的信心和兴趣。
 针对性强的例子:本书的示例分为三个级别,各自针对不同的章节。对于基础知识,大部分是短小的代码断例子(易懂);对于开发技术,使用贯穿多个章节的论坛大例(融会贯通);对于构架与经验,使用同一个留言簿的例子(简单明了又不脱离实际)。
本书的结构:
 基础篇:介绍使用ASP.NET 2.0进行WEB开发的基础。本篇在覆盖了基础的同时又以编写留言簿的示例让初学者快速入门,在理解基础的同时又能获得成就感,迅速激发学习的热情。
 技术篇:介绍ASP.NET 2.0的各种控件和特性。本篇覆盖ASP.NET 2.0的常用技术的同时也涉及到了ASP.NET的一些底层实现,让初学者在学会使用的同时也能理解其中的原理。本篇的例子是一个论坛系统的某些关键环节的实现,初学者在阅读本篇后再去阅读本书的论坛代码就能有融会贯通的感觉。
 提高篇:介绍了一些进阶技术。通过阅读本篇,您能编写出更好的代码,制作出更强大的ASP.NET应用程序。
 扩展篇:介绍了ASP.NET 2.0常见的企业级开发构架和技术。本篇中提到的开发构架和新技术是大多同类书籍不涉及的。对于初学者来说,这些资料不但能迅速提升自己的技术而且还也能提供一个继续学习的方向,为技术的深入作好铺垫。

目录:

前言 19

第一章 WEB编程概述 23
1.1 浏览器/服务器(B/S)模型 23
1.1.1 客户端/服务器(C/S)模型的问题 23
1.1.2 浏览器/服务器(B/S)模型的优劣 24
1.2 WEB服务器与WEB请求 25
1.3 WEB开发技术的发展 26
1.3.1 客户端技术的发展 26
1.3.2 服务端技术的发展 28
1.3.3 J2EE vs 微软.NET 29
1.4 ASP.NET技术 30
1.4.1 彻底的颠覆——ASP.NET与ASP 30
1.4.2 更强更完善——ASP.NET 2.0与1.1 31
1.5 其它基础知识 32
1.6 回顾与总结 32

第二章 建立开发环境 33
2.1 安装IIS 33
2.2 安装.NET框架与集成开发环境 36
2.3 熟悉IIS 39
2.3.1 注册ASP.NET 2.0 39
2.3.2 了解IIS的设置 39
2.3.3 配置虚拟目录 44
2.4 熟悉集成开发环境 46
2.5 回顾与总结 49

第三章 C#编程基础 50
3.1 创建第一个程序 50
3.2 变量和运算 53
3.2.1 单值类型 53
3.2.2 类型转换 54
3.2.3 枚举与数组类型 56
3.2.4 运算操作 58
3.2.5 四则运算的例子 62
3.3 字符串操作 64
3.3.1 字符串操作概述 64
3.3.2 字符访问 64
3.3.3 打散 65
3.3.4 截取 65
3.3.5 字符匹配 65
3.3.5 大小写转换 66
3.3.6 对齐 66
3.3.7 匹配移除 66
3.3.8 插入和删除 66
3.3.9 替换 67
3.3.10 分割 67
3.3.11 格式化 67
3.3.12 连接 68
3.4 流程控制 69
3.4.1 流程控制概述 69
3.4.2 选择语句 69
3.4.3 迭代语句 72
3.4.4 冒泡排序的例子 77
3.4.5 字符串与整数互转的例子 79
3.5 面向对象概述 81
3.5.1 面向对象概述 82
3.5.2 冒泡排序类 82
3.5.3 类和成员 91
3.5.4 值类型和引用类型 94
3.5.5 汽车类的例子 97
3.6 回顾与总结 102

第四章 强大的.NET类库 104
4.1 常用命名空间 104
4.1.1 基础命名空间 104
4.1.2 图形命名空间 105
4.1.3 数据命名空间 105
4.1.4 WEB命名空间 106
4.1.5 框架服务命名空间 106
4.1.6 安全性命名空间 107
4.1.7 网络命名空间 107
4.1.8 配置命名空间 108
4.1.9 本地化命名空间 108
4.2 集合类型 109
4.2.1 System.Collections命名空间概述 109
4.2.2 使用ArrayList类型 109
4.2.3 使用Hashtable类型 112
4.2.3 使用SortedList类型 115
4.2.4 使用Stack类型 118
4.2.5 泛型集合 124
4.3 磁盘操作 125
4.3.1 System.IO命名空间概述 125
4.3.2 使用DriveInfo类型读取驱动器信息 126
4.3.3 使用Directory和DirectoryInfo类型操作目录 127
4.3.4 使用File和FileInfo类型操作文件 129
4.3.5 使用StreamReader和StreamWriter类型读写文件 132
4.4 反射 133
4.4.1 System.Relection命名空间概述 134
4.4.2 反射对象的成员 138
4.4.3 反射对象的字段 139
4.4.4 反射对象的属性 140
4.4.5 反射对象的方法 141
4.5 图形图像处理 142
4.5.1 System.Drawing命名空间概述 142
4.5.2 生成验证码的例子 143
4.5.3 生成缩略图的例子 146
4.5.4 生成黑白图的例子 148
4.6 网络 150
4.6.1 从远程地址下载文件的例子 150
4.6.2 Ping操作的例子 151
4.7 回顾与总结 152

第五章 数据库基础 154
5.1 使用IDE连接SQLSERVER 154
5.2 创建数据库与表 156
5.3 SQL查询 160
5.3.1 记录添加 161
5.3.2 记录修改 162
5.3.3 记录删除 163
5.3.4 单表查询 163
5.3.5 多表查询 165
5.3.6 聚合函数 166
5.3.7 分组查询 167
5.3.8 子查询 168
5.4 存储过程 169
5.4.1 存储过程与参数 169
5.4.2 存储过程与事务 172
5.4.3 声明变量与循环 174
5.5 回顾与总结 175

第六章 快速入门——简易留言簿 177
6.1 编码前的准备 177
6.1.1 回顾基本概念 177
6.1.2 设计数据结构 178
6.2 实现 178
6.2.1 创建数据库 179
6.2.2 实现发表留言功能 180
6.2.3 显示用户发表的留言 188
6.2.4 管理员操作 194
6.3 回顾与总结 199

第七章 .NET框架与ASP.NET 200
7.1 .NET框架体系结构概述 200
7.2 公共语言运行库CLR 201
7.2.1 公共语言运行库概述 201
7.2.2 编译的过程和原理 201
7.2.3 CLR的自动内存管理 203
7.3 程序集 204
7.3.1 程序集概述 204
7.3.2 程序集的构成 204
7.3.3 构建程序集信息 206
7.4 应用程序域 211
7.4.1 应用程序域概述 211
7.4.2 应用程序域编程 212
7.5 ASP.NET代码结构与编译 217
7.5.1 ASP.NET代码模型 217
7.5.2 ASP.NET 2.O的网站目录结构 220
7.5.3 ASP.NET 2.O页面编译过程 222
7.6 ASP.NET请求和响应 225
7.6.1 ASP.NET应用程序的生命周期 225
7.6.2 HttpRequest对象 227
7.6.3 HttpResponse对象 231
7.6.4 ASP.NET页面生命周期 235
7.7 ASP.NET事件模型 236
7.7.1 ASP.NET事件模型概述 236
7.7.2 ASP.NET服务器控件事件模型 237
7.8 ASP.NET 2.0 Provider模型概述 238
7.8.1 Provider模型概述 238
7.8.2 Provider的结构 239
7.8.3 ASP.NET 2.O中的Provider 240
7.9 回顾与总结 241

第八章 服务器控件 243
8.1 服务器控件概述 243
8.1.1 传统的解决方案 243
8.1.2 ASP.NET的解决方案 244
8.1.3 使用IDE添加控件 245
8.1.4 控件的属性 246
8.1.5 控件的标签 248
8.1.6 特殊的服务器控件 249
8.2 服务器控件的层次结构 250
8.2.1 控件的层次结构与基类 250
8.2.2 使用程序访问控件 251
8.2.3 使用智能感知熟悉控件 253
8.2.4 WEB服务器控件层次结构 254
8.2.5 HTML服务器控件层次结构 256
8.3 服务器控件树 258
8.3.1 使用程序输出控件树 258
8.3.2 LiteralControl控件 261
8.4 服务器控件的事件 264
8.4.1 为控件添加事件 264
8.4.2 事件参数与自动回发 266
8.4.3 服务端事件与客户端事件 267
8.5 服务器控件的使用 271
8.5.1 下拉列表控件DropDownList 271
8.5.2 多选框列表控件CheckBoxList 273
8.5.3 文件上传控件FileUpload 275
8.5.4 多重视图控件MultiView 279
8.5.5 必须字段验证控件RequiredFieldValidator 279
8.6 网络文件夹的例子 280
8.6.1 界面预览 280
8.6.2 功能需求 282
8.6.3 代码实现 283
8.7 回顾与总结 300

第九章 ADO.NET数据访问模型 301
9.1 ADO.NET概述 301
9.2 连接数据库 303
9.2.1 连接字符串 303
9.2.2 使用Connection对象连接数据库 304
9.2.3 使用ConnectionStringBuilder构建连接字符串 310
9.2.4 枚举数据源 311
9.3 执行SQL语句 311
9.3.1 回顾论坛数据库 311
9.3.2 使用SqlCommand执行SQL语句 312
9.3.3 SQL注入带来的威胁 317
9.4 使用参数化SQL与存储过程提高安全性 319
9.4.1 使用参数来防止SQL注入 319
9.4.2 创建存储过程 321
9.4.3 使用SqlCommand对象执行存储过程 322
9.5 使用DataReader访问数据 324
9.5.1 使用DataReader读取单记录集 325
9.5.2 使用DataReader读取多记录集 327
9.6 DataSet数据容器 330
9.6.1 DataSet对象基本结构 330
9.6.2 创建DataSet 331
9.6.3 访问DataSet 334
9.6.4 使用DataRelation实现父子表 336
9.7 离线模式操作数据库 340
9.7.1 使用DataAdapter获取数据 340
9.7.2 使用DataAdapter更新数据 343
9.8 回顾与总结 349

第十章 数据绑定与数据绑定控件 351
10.1 数据绑定概述 351
10.1.1 单值绑定 351
10.1.2 绑定表达式 353
10.2 重复值绑定 355
10.2.1各种类型的数据源 355
10.2.2 支持数据源绑定的控件 357
10.2.3 把数据源绑定到控件 359
10.3 复杂数据绑定控件之GridView 364
10.3.1 回顾论坛数据库结构 364
10.3.2 把数据源绑定到GridView 366
10.3.3 GridView的绑定列与模板列 367
10.3.4 GridView的事件 377
10.3.5 美化GridView 388
10.3.6 格式化GridView 395
10.3.7 数据的排序与分页 397
10.4 复杂数据绑定控件之DataList 403
10.4.1 DataList的属性与模板 403
10.4.2 DataList的模板与事件 407
10.5 复杂数据绑定控件之Repeater 411
10.5.1 使用web.config存储连接字符串 411
10.5.2 使用Repeater呈现父子表数据 413
10.6回顾与总结 422

第十一章 ASP.NET应用程序统筹 424
11.1 ASP.NET应用程序统筹概述 424
11.1.1 大型系统的需求 424
11.1.2 ASP.NET的解决方案 425
11.2 母版页 425
11.2.1 创建母版页 426
11.2.2 创建基于母版页的WEB窗体 428
11.2.3 以编程方式访问母版页 433
11.3 主题和皮肤 433
11.3.1 CSS样式概述 433
11.3.2 使用CSS统一页面样式 437
11.3.3 创建与应用主题 441
11.3.4 创建控件的皮肤 443
11.3.5 切换网站主题 445
11.4 用户控件 451
11.4.1 创建用户控件 451
11.4.2 使用用户控件 457
11.4.3 以编程方式访问用户控件 459
11.5 本地化和资源 459
11.5.1 生成本地资源 460
11.5.2 创建多语言资源文件 465
11.5.3 实现多语言切换 467
11.5.4 以编程方式访问本地资源 469
11.5.5 创建和使用全局资源 470
11.6 导航控件和站点地图 473
11.6.1 创建自动的导航路径 473
11.6.2 多语言和多主题的导航 475
11.7 回顾与总结 478

第十二章 状态管理 480
12.1 状态管理概述 480
12.1.1 状态管理与数据库 480
12.1.2 状态管理的比较参数 481
12.2 Cookie 481
12.2.1 Cookie概述 481
12.2.2 Cookie的使用 482
12.2.3 Cookie总结 486
12.3 Session 486
12.3.1 Session概述 486
12.3.2 Session的使用 487
12.3.3 把Session存储在独立的进程中 489
12.3.4 把Session存储在数据库中 492
12.3.5 Session的使用范围与大小限制 494
12.3.6 Session的生命周期 496
12.3.7 遍历与销毁Session 497
12.3.8 Session的常见问题与总结 498
12.4 Application 500
12.4.1 全局应用程序类 500
12.4.2 使用Application统计网站访问 501
12.4.3 Application总结 504
12.5 Cache 504
12.5.1 Cache概述 504
12.5.2 Cache性能与过期策略 505
12.5.3 Cache的更新策略 511
12.5.4 Cache总结 513
12.6 隐藏域/ViewState/ControlState 514
12.6.1 使用隐藏域 514
12.6.2 使用ViewState 514
12.6.3 ViewState的安全与性能 515
12.6.4 ControlState概述 518
12.6.5 总结 518
12.7 Profile 519
12.7.1 使用Profile制作个性化页面 519
12.7.2 Profile总结 527
12.8 其它 527
12.8.1 QueryString 528
12.8.2 跨页提交 528
12.9 完善论坛 529
12.10 回顾与总结 538

第十三章 强类型DataSet 541
13.1 强类型DataSet概述 541
13.2 使用强类型DataSet进行数据访问 542
13.3 论坛程序总结 557
13.4 回顾与总结 561

第十四章 请求上下文 562
14.1 HTTP上下文简介 562
14.2 HttpHandler 564
14.2.1 Http处理程序简介 564
14.2.2 自定义HTTP处理程序 564
14.2.3 IHttpHandlerFactory 571
14.3 HttpModule 577
14.3.1 Http模块简介 577
14.3.2 创建简单的Http模块 578
14.4 回顾与总结 581

第十五章 保护ASP.NET应用程序 582
15.1 ASP.NET应用程序安全概述 582
15.1.1 安全相关的名词 582
15.1.2 ASP.NET安全结构 582
15.1.3身份验证方式 583
15.2 用户账户模拟 584
15.2.1 模拟请求用户 584
15.2.2 模拟某一个用户 589
15.2.3 使用编程方式临时模拟 590
15.3 基于Windows的身份验证 592
15.3.1 概述 592
15.3.2 配置IIS安全 594
15.3.3 配置Windows安全 595
15.3.4 配置Windows身份验证 596
15.3.5 配置Windows授权 597
15.3.6 实现自定义角色 599
15.3.7 获取用户信息 600
15.4 基于表单的身份验证 600
15.4.1 概述 600
15.4.2 启用表单身份验证 601
15.4.3 配置表单身份验证 602
15.4.4 配置表单授权 605
15.4.5 登录与注销 607
15.4.6 使用web.config进行身份验证 609
15.4.7 获取用户信息 610
15.5 ASP.NET 2.0成员资格和角色管理器 611
15.5.1 成员资格概述 611
15.5.2 成员资格的配置 612
15.5.3 角色管理器概述 616
15.5.4 角色管理器的配置 617
15.5.5 安全性相关的控件 619
15.5.6 ASP.NET网站管理工具 620
15.5.7 成员资格和角色管理器API编程 621
15.6 安全性相关的控件 622
15.6.1 ASP.NET登录控件概述 622
15.6.2 登录控件 622
15.6.3 创建用户向导控件 623
15.6.4 密码恢复控件 625
15.6.5 修改密码控件 626
15.6.6其它控件 626
15.7 ASP.NET网站管理工具 627
15.7.1 ASP.NET网站管理工具概述 627
15.7.2 用户管理 629
15.7.3 角色管理 630
15.7.4 访问规则管理 633
15.7.5 其它配置 635
15.8 成员资格和角色管理API编程 636
15.8.1 成员资格API概述 636
15.8.2 角色管理API概述 637
15.8.3 创建、修改、获取和删除用户 638
15.8.4 验证和解锁用户 640
15.8.5 角色管理 641
15.8.6 角色验证 644
15.8.7 其它重要成员 645
15.9 回顾与总结 646

第十六章 WEB PART让网站个性化 648
16.1 WEB PART概述 648
16.2 进一步了解WEB PART 649
16.2.1 WEB PART的层次结构 649
16.2.2 ASP.NET中的WEB PART控件 650
16.3 使用WEB PART 652
16.3.1 创建一个简单的个性化页面 652
16.3.2 页面显示模式介绍 655
16.3.3 在页面中添加WEB PART 658
16.3.4 在页面中编辑WEB PART 661
16.3.5 WEB PART的导入和导出 666
16.3.6 WEB PART之间的通讯 668
16.4 回顾与总结 676

第十七章 AJAX无刷新技术 677
17.1 AJAX概述 677
17.1.1 什么是AJAX 677
17.1.2 AJAX历史 678
17.2 AJAX工作原理 679
17.3 微软ASP.NET AJAX 681
17.3.1 ASP.NET AJAX概述 681
17.3.2 ScriptManager控件 682
17.3.3 ScriptManagerProxy控件 685
17.3.4 UpdatePanel控件 687
17.3.5 UpdateProgress控件 689
17.3.6 Timer控件 690
17.3.7 ASP.NET AJAX与Web Service的配合 692
17.3.8 ASP.NET AJAX应用示例:无刷新留言簿 697
17.4 ASP.NET AJAX Control Toolkit 699
17.5 AJAX的优势与不足 701
17.5.1 AJAX应用优势 701
17.5.2 AJAX的不足 701
17.6 脚本调试 702
17.7回顾与总结 702

第十八章 性能与安全 704
18.1 性能优化概述 704
18.2 编码级别性能优化 705
18.2.1 数据访问 705
18.2.2 字符串操作 706
18.2.3 释放资源 707
18.2.4 其它优化 708
18.3 页面级别性能优化 710
18.3.1 页面缓存 710
18.3.2 视图状态 711
18.3.3 页面加速 711
18.3.4 其它优化 712
18.4 构架级别性能优化 712
18.4.1 数据缓存 712
18.4.2 分布式程序 713
18.4.3 分布静态资源 714
18.4.4 其它优化 714
18.5 配置与部署性能优化 715
18.5.1 网站配置 715
18.5.2 网站部署 715
18.6 安全概述 716
18.7 页面与编码相关安全防护 716
18.7.1 控件与页面 716
18.7.2 状态机制 718
18.7.3 SQL注入 719
18.7.4 提示信息 719
18.8 构架相关安全防护 720
18.8.1 隔离数据库 720
18.8.2 独立的操作日志模块 720
18.9 服务器配置相关安全防护 721
18.9.1 细化数据库权限 721
18.9.2 SSL/HTTPS 721
18.10 其它安全措施 721
18.10.1 防恶意提交 722
18.10.2 跳转令牌 722
18.10.3 重复确认身份 722
18.10.4 防跨网站脚本 723
18.11 回顾与总结 723

第十九章 调试与错误处理 725
19.1 编码习惯 725
19.1.1 代码格式化 725
19.1.2 命名 726
19.1.3 其它 728
19.1.4 代码注释 729
19.1.5 版本跟踪 730
19.2 发现错误 731
19.2.1 编译错误 731
19.2.2 断点调试 732
19.2.3 跟踪应用程序 738
19.3 处理错误 740
19.3.1 异常概述 740
19.3.2 捕获和处理异常 741
19.3.3 自定义错误页 744
19.4 回顾与总结 745

第二十章 打包与部署 747
20.1 发布网站 747
20.2 打包网站 751
20.2.1 创建WEB安装项目 751
20.2.2 WEB安装项目的细节 755
20.3 回顾与总结 763

第二十一章 学成出师——单点登录系统 764
21.1 单点登录的例子 764
21.1.1 单点登录概述 764
21.1.2 单点登录基本思想 764
21.2 实现单点登录 766
21.3 使用令牌增进安全 779
21.4 总结和概述 792

第二十二章 常见数据访问方式 794
22.1 数据访问概述 794
22.1.1 常见数据访问方式 794
22.1.2 回顾ADO.NET直接方式 794
22.1.3 回顾强类型DataSet方式 796
22.2 ADO.NET封装方式 796
22.3 从数据访问中解放——ORM方式 798
22.3.1 ORM概述 798
22.3.2 使用NHibernate制作留言簿 798
22.3 ORM的妥协——SqlMap方式 814
22.3.1 SqlMap概述 814
22.3.2 使用IBatisNet制作留言簿 815
22.4 随心所欲——代码生成方式 825
22.4.1 代码生成概述 825
22.4.2 代码生成方案举例 826
22.5 回顾与总结 838

第二十三章 分布式应用程序 840
23.1 分布式应用程序概述 840
23.2 WEB服务 842
23.2.1 创建WEB服务 842
23.2.2 HTTP-GET方式的WEB服务 848
23.2.3 异步调用WEB服务 849
23.3 .NET Remoting 853
23.3.1 第一个.NET Remoting应用程序 853
23.3.2 Remoting的信道 858
23.3.3 使用配置文件增加灵活性 862
23.3.4 使用接口降低耦合 864
23.3.5 使用Windows服务承载远程对象 869
23.3.6 异步操作 873
23.4 回顾与总结 875

第二十四章 分层与构架 877
24.1 分层与构架概述 877
24.2 多层构架 877
24.2.1 多层构架概述 878
24.2.2 使用三层构架重写留言簿 879
24.3 依赖注入框架 891
24.3.1 依赖注入概述 891
24.3.2 使用Spring.Net进行依赖注入 897
24.4 回顾与总结 901

第二十五章 学习资源 902
25.1 官方资料 902
25.2 技术博客 902
25.2 技术网站 903
25.3 技术论坛 904

 

posted @ 2007-02-09 13:45  lovecherry  阅读(4609)  评论(39编辑  收藏  举报