写给未来的程序员 1
前言 1
第一篇 ASPNET开发快速起步 1
第1章 第一个ASP.NET程序 1
1.1 选择开发工具:VisualStudio2008 1
1.1.1 了解VisualStudio2008的功能 1
1.1.2 安装VisualStudio2008所需硬件环境 2
1.1.3 安装VisualStudio2008 2
1.1.4 检查是否安装US 4
1.2 开发第一个ASP.NET程序 6
1.2.1 启动VisualStudio2008,创建一个网站 6
1.2.2 添加控件、编写代码 7
1.2.3 运行程序:查看在浏览器上显示的源文件 8
1.2.4 退出VisualStudio2008 8
1.3 ASP.NET程序结构的剖析 9
1.3.1 前台和后台 9
1.3.2 程序集的引用 9
1.3.3 事件 9
1.3.4 揭示程序处理过程和本质 10
1.4 配置文件(web.config)说明 11
1.4.1 什么是配置文件 11
1.4.2 配置文件的作用 11
1.5 小结 12
第2章 基础知识 13
2.1 认识ASP.NET3.5 13
2.1.1 NETFramework3.5的功能 13
2.1.2 ASP.NET是.NET Framework的一部分 14
2.1.3 ASP.NET需要的命名空间(NameSpace) 14
2.2 C#变量和常量 15
2.2.1 系统预定义类型 15
2.2.2 定义变量(标识符与关键字) 15
2.2.3 变量的初始化 16
2.2.4 变量的生命周期 16
2.2.5 数据的显式转换、隐式转换 16
2.2.6 装箱和拆箱 17
2.2.7 字符串 17
2.2.8 数组 18
2.2.9 泛型 18
2.2.10 常量 19
2.2.11 注释 19
2.2.12 C#书写规范和风格 20
2.3 运算符与表达式 20
2.3.1 运算符 20
2.3.2 表达式 21
2.4 语句类型 22
2.4.1 选择语句 22
2.4.2 循环语句 23
2.4.3 跳转语句 24
2.4.4 异常处理语句 24
2.5 对象、类、接口与继承 25
2.5.1 对象和类 25
2.5.2 接口 26
2.5.3 继承 27
2.6 C#高级应用 27
2.6.1 迭代器 27
2.6.2 局部类 28
2.6.3 隐式类型 28
2.6.4 对象初始化设定项 29
2.6.5 类中的属性赋值自动实现 30
2.6.6 Lambda表达式 30
2.7 小结 31
第3章 添加网页控件 32
3.1 控件分类 32
3.1.1 HTML控件 32
3.1.2 Web控件 33
3.2 添加标准控件 33
3.2.1 如何往网页中添加控件 33
3.2.2 使用控件的属性 34
3.2.3 处理控件的事件 35
3.2.4 表示类控件 35
3.2.5 输人类控件 36
3.2.6 布局类控件 38
3.2.7 提交类控件 38
3.3 添加验证控件 39
3.3.1 关于6个验证控件 39
3.3.2 使用5个简单的验证控件 39
3.3.3 ValidationSummary验证控件的错误汇总 42
3.4 使用复杂控件 42
3.4.1 日历控件 42
3.4.2 动态广告控件 43
3.5 小结 43
第二篇 使用数据 45
第4章 ADO.NET基础 45
4.1 配置数据库:SQLServer2005 45
4.1.1 安装SQLServer2005 45
4.1.2 准备数据 48
4.2 第一个连接数据库的网页 49
4.2.1 建立数据库连接 49
4.2.2 添加GridView控件 50
4.2.3 代码分析 51
4.3 ADO.NET框架与.NET框架 52
4.4 连接方式(Connected Class) 53
4.4.1 用Connection类连接数据库 53
4.4.2 用Command类执行命令 54
4.4.3 用DataReader类读取数据 55
4.4.4 如何给Command对象添加参数对象 56
4.4.5 DataAdapter类的桥梁作用 56
4.5 应用断开连接类(Disconnected Class) 57
4.5.1 数据集类DataSet 57
4.5.2 数据集类DataTable 58
4.6 使用事务(Transaction) 59
4.7 小结 60
第5章 数据绑定 61
5.1 数据绑定概述 61
5.2 绑定单值数据 61
5.2.1 绑定表达式 61
5.2.2 使用Eval()方法 62
5.2.3 使用Bind()方法 62
5.3 绑定单值字段 62
5.3.1 绑定属性 63
5.3.2 绑定C#对象中的字段 63
5.3.3 内联引用方式调用C#代码 64
5.3.4 引用配置文件中预定义的字段 64
5.4 绑定复值数据 64
5.5 数据源控件 66
5.5.1 选择记录 66
5.5.2 参数化命令 68
5.6 更新数据 69
5.6.1 使用LinqDataSource更新数据 69
5.6.2 使用SqlDataSource更新数据 70
5.6.3 使用ObjectDataSource控件更新数据 70
5.6.4 更换数据源 70
5.7 小结 70
第6章 数据控件 72
6.1 列表视图控件(ListView)&7 2
6.1.1 ListView控件显示数据 72
6.1.2 ListView控件实现数据的增、删、改 75
6.2 使用数据分页控件(DataPager)进行分页 79
6.3 表格视图(GridView)显示数据 83
6.3.1 自动添加列与预定义列&8 3
6.3.2 利用列表视图进行排序、分页 85
6.3.3 数据的编辑和删除 87
6.4 使用详细视图控件(DetailsView)&8 8
6.5 使用表单视图控件(FormView) 90
6.6 使用数据列表控件(DataList) 93
6.7 实现主/详细关系数据的显示 95
6.8 小结 97
第7章 XML简介 98
7.1 XML概述 98
7.1.1 配置文件是一个XML文件&9 8
7.1.2 XM L语法 98
7.1.3 XML注释 100
7.2 使用LINQ操作XML文件 100
7.2.1 使用LINQ创建XML文件 100
7.2.2 使用LINQ对XML文件数据进行增、删、改 104
7.2.3 XML数据的验证 107
7.3 XML数据绑定 107
7.3.1 XmIDataSource控件 107
7.3.2 显示站点地图数据 109
7.4 XML与ADO.ET之间的转换 110
7.4.1 将DataSet转换为XML文件 110
7.4.2 从XML文件提取数据存入DataSet 112
7.5 小结 114
第8章 LINQ简介 115
8.1 LINQ基础 115
8.1.1 为什么要使用LINQ 115
8.1.2 LINQ的语法 116
8.2 LINQ对数据集(DataSet) 118
8.3 L1NQ与SQL的交互 121
8.3.1 数据的查询和删除 121
8.3.2 数据的插入 123
8.3.3 数据的修改 126
8.4 LinqDataSource控件实现数据的增、删、改 129
8.5 小结 132
第三篇 ASP.NET网站规划 133
第9章 使用母版页(MasterPage) 133
9.1 母版页基础 133
9.1.1 建立一个母版页 133
9.1.2 建立一个内容页(ContentPage) 134
9.1.3 在母版页使用相对路径应注意的问题 135
9.1.4 在配置文件中设定母版页 135
9.2 对母版页类进行操作 136
9.2.1 修改标题 136
9.2.2 访问母版页中的控件 136
9.2.3 使用方法与处理事件 136
9.3 关于母版页嵌套(Nesting) 137
9.4 小结 138
第10章 使用主题Theme 139
10.1 创建主题 139
10.1.1 建立一个简单的主题 139
10.1.2 外观(Skins) 139
10.1.3 建立级联样式表单(CSS) 140
10.2 运行时更改主题和外观 141
10.3 通过配置文件应用主题 142
10.4 自定义日历控件的外观 142
10.5 如何应用从网络下载的主题 143
10.5.1 下载主题 143
10.5.2 应用主题 143
10.6 小结 144
第11章 建立用户控件 145
11.1 一个简单的用户控件(User Controls) 145
11.1.1 创建用户控件 145
11.1.2 应用用户控件 146
11.1.3 增加、.处理用户控件的属性 147
11.1.4 增加、处理用户控件的事件 147
11.2 动态装载用户控件 148
11.3 用户控件缓存问题 149
11.4 用户控件与母版页、普通页面的比较 149
11.5 小结 149
第12章 网页导航(Website Navigate) 150
12.1 多视图控件(MultiView) 150
12.2 导航控件(Wizard) 151
12.3 站点地图控件(SiteMapPath) 153
12.3.1 站点地图控件的功能&15 3
12.3.2 使用站点地图控件实现导航 154
12.4 树形视图控件(Tre eView) 155
12.4.1 应用树形视图控件 155
12.4.2 节点(TreeNode )定义 155
12.4.3 动态生成节点&15 6
12.4.4 定义节点样式(Styles)&15 6
12.5 菜单控件(Menu)&15 6
12.5.1 应用菜单控件 156
12.5.2 定义菜单样式(Styles)&15 7
12.6 小结 158
第13章 门户个性化 159
13.1 什么是门户个性化 159
13.1.1 哪些网站体现了门户个性化 159
13.1.2 门户个性化具备哪些功能 160
13.2 Web Part Pages基础 161
13.2.1 创建一个Web Part网页 161
13.2.2 添加WebPartManager控件&1 61
13.2.3 添加WebPartZone控件&16 2
13.2.4 添加普通控件 162
13.3 个性化设置Profile和数据存取 163
13.3.1 设置属性 163
13.3.2 保存设置 164
13.4 小结 165
第14章 状态管理(StateManagement) 167
14.1 ASP.NET状态管理概述 167
14.1.1 服务器端状态管理 167
14.1.2 客户端状态管理 168
14.2 视图状态(ViewState) 169
14.3 隐藏域(Hidden Field) 169
14.4 网页之间信息的传递 171
14.5 如何使用Cookie类 172
14.5.1 Cookie的写入和读取 172
14.5.2 Cookie的失效和删除 173
14.6 如何使用会话状态(Session) 173
14.6.1 会话状态标识(SessionID) 173
14.6.2 使用Session对象 174
14.6.3 会话状态的时效性 175
14.6.4 会话状态的事件处理程序 176
14.7 应用程序(Application)状态 176
14.7.1 应用程序状态概述 176
14.7.2 使用应用程序状态存储公用数据 177
14.8 小结 178
第15章 缓存和不同步网页 179
15.1 什么是缓存(Caching) 179
15.2 页面输出缓存 179
15.2.1 启用页面输出缓存 180
15.2.2 用参数控制缓存 181
15.2.3 用头控制缓存 183
15.2.4 自定义字符串控制缓存 184
15.2.5 缓存的存放位置 185
15.3 页面数据缓存 186
15.4 缓存的依赖性 187
15.4.1 文件缓存依赖 188
15.4.2 数据库缓存依赖 188
15.5 使用不同步的网页 191
15.6 小结 192
第16章 网站国际化 193
16.1 设置当前文化 193
16.1.1 以声明方式设置区域性 193
16.1.2 以编程方式设置区域性 194
16.2 为网站建立资源 194
16.2.1 手动创建资源文件 194
16.2.2 从网页生成局部资源文件 196
16.3 为网页选择国际编码 196
16.4 为ASP.NET页面使用本地化资源 197
16.5 小结 199
第17章 网站配置文件管理 200
17.1 使用网站管理工具 200
17.1.1 “安全”选项卡 200
17.1.2 “应用程序”选项卡 203
17.1.3 “提供程序”选项卡 205
17.2 使用控制台(MMC)管理单元配置ASP.NET 205
17.3 使用配置编程接口 207
17.4 小结 208
第五篇 ASP.NET网站安全 209
第18章 两种验证模型 209
18.1 ASP.NET安全模型 209
18.1.1 ASP.NET的安全验证过程 209
18.1.2 安全的一些防范措施 210
18.2 全局配置身份验证属性authentication 210
18.3 表单验证(Forms Authentication) 211
18.3.1 应用表单验证 211
18.3.2 表单验证的一些重要功能 212
18.4 窗口验证(WindowsAuthentication) 212
18.5 小结 213
第19章 成员和角色管理 214
19.1 成员管理 214
19.1.1 成员管理Membership类的功能 214
19.1.2 动态创建用户 214
19.1.3 验证用户的姓名和密码 217
19.1.4 成员管理类的常用方法 218
19.1.5 单一的用户信息管理类 218
19.1.6 成员资格提供程序MembershipProvider 220
19.1.7 网站默认的数据存储数据库 221
19.1.8 自定义保存用户信息的数据库 221
19.1.9 扩展MembershipProvider支持Oracle数据库存储方式 223
19.2 角色管理 224
19.2.1 在应用程序中启用角色管理功能 224
19.2.2 通过网站管理工具创建角色 224
19.2.3 通过代码创建角色 225
19.2.4 赋予用户角色权限 225
19.2.5 配置角色的登录权限 226
19.2.6 allow和deny 226
19.3 使用登录组件包 227
19.3.1 使用登录控件(LoginControl) 227
19.3.2 登录状态控件(LoginStatus) 227
19.3.3 登录者名称控件(LoginName) 228
19.3.4 修改密码控件(ChangePassword) 228
19.3.5 创建用户控件(CreateUserWizard) 229
19.4 小结 229
第六篇 ASP.NET网站高级开发 231
第20章 Ajax Web开发语言:JavaScript简明教程 231
20.1 JavaScript的标准和发展 232
20.2 JavaScript关键字和运算符 234
20.3 基本程序结构 235
20.4 数据类型 237
20.4.1 数据的类型识别 238
20.4.2 基本数据类型之间的转换 239
20.4.3 null和undefined 240
20.5 函数和对象 242
20.5.1 简单的函数模型 242
20.5.2 简单的对象模型 243
20.5.3 对象的类别 244
20.5.4 原型对象prototype 249
20.5.5 封装 251
20.5.6 继承 251
20.5.7 重载 254
20.5.8 覆盖 257
20.6 prototype.js框架 259
20.6.1 获得prototype.js 259
20.6.2 包 259
20.6.3 prototype.js中的面向对象支持 260
20.6.4 基于事件的开发 261
20.6.5 Abstract.TimedObserver扩展 265
20.6.6 Ajax支持 265
20.7 小结 268
第21章 Ajax布局技术:CSS 2深入详解 269
21.1 CSS 2概述 269
21.2 在Web页面中引入CSS风格表 269
21.2.1 在HTML中引入CSS 269
21.2.2 在XML中引入CSS 272
21.3 选择符 272
21.3.1 标记选择符、类选择符和ID选择符&27 3
21.3.2 伪类选择符 274
21.3.3 属性选择符 275
21.3.4 复合选择符 276
21.3.5 级联法则 278
21.4 元素的渲染 280
21.4.1 文字的基本渲染方法 280
21.4.2 颜色和背景 282
21.4.3 图片拼合技术&2 83
21.5 块及块的定位 286
21.5.1 块的概念&28 6
21.5.2 块的四大区域 286
21.5.3 position和网页布局 288
21.5.4 浮动定位和网页布局 291
21.6 小结 293
第22章 ASP.NETAJAX 294
22.1 ASP.NET AJAX概述 294
22.1.1 ASP.NET AJAX特性 294
22.1.2 Microsoft AJAX Library脚本库 295
22.1.3 服务端架构 296
22.2 建立ASP.NET AJAX程序 297
22.2.1 开发ASP.NET AJAX的应用程序 297
22.2.2 在现有的应用程序上使用ASP.NET AJAX 298
22.2.3 配置VisualStudio的工具箱 299
22.3 使用ASP.NET AJAX建立Hello World程序 300
22.4 ScriptManager控件 301
22.4.1 ScriptManager控件概述 301
22.4.2 理解EnablePartialRendering属性实现局部更新&30 3
22.4.3 使用EnablePageMethods属性调用页面方法 305
22.5 使用Ajax调用Web服务方法 307
22.5.1 引用Web Service&3 7
22.5.2 调用Web服务代理 309
22.6 使用ScriptManagerProxy控件 312
22.6.1 ScriptManagerProxy控件概述 312
22.6.2 应用ScriptManagerProxy控件 313
22.7 局部更新控件(UpdatePanel) 315
22.7.1 UpdatePanel控件概述 315
22.7.2 应用UpdatePanel控件 315
22.7.3 UpdatePanel的触发器(Triggers) 316
22.8 更新进度提示控件(UpdateProgress) 318
22.8.1 更新进度提示控件概述 318
22.8.2 用UpdateProgress实现更新提示 318
22.9 定时控件(Timer) 319
22.9.1 定时控件概述 319
22.9.2 使用Timer控件实现定时更新 320
22.10 Ajax的工具包 320
22.10.1 自动完成控件(AutoComplete) 320
22.10.2 确认按钮控件(ConfirmButton) 324
22.10.3 下拉菜单控件(DropDown) 328
22.10.4 文本框水印控件(TextBoxWatermark) 330
22.10.5 Slider滑杆控件(Slider) 332
22.11 小结 333
第23章 设计简单博客网站 335
23.1 系统概要设计 335
23.1.1 分析系统需求 335
23.1.2 系统主要功能 336
23.1.3 搭建开发系统的环境 336
23.1.4 设计网站架构 336
23.2 数据库设计 336
23.2.1 数据库表设计 337
23.2.2 数据库表关系设计 339
23.3 网站数据库连接设计 339
23.4 用户管理模块 340
23.4.1 用户注册功能 340
23.4.2 用户登录 343
23.4.3 用户信息维护 344
23.4.4 用户管理模块公共代码类 346
23.5 图片管理模块 349
23.5.1 上传图片 349
23.5.2 图片修改和删除功能 350
23.5.3 图片管理模块公共代码类 351
23.6 文章管理模块 352
23.6.1 文章发布功能 352
23.6.2 文章修改和删除功能 354
23.6.3 文章公共类 355
23.7 通信录管理模块 356
23.7.1 添加联系人 356
23.7.2 通信录维护功能 357
23.7.3 通信录管理模块公共代码类 358
23.8 评论模块 359
23.8.1 查看评论信息 360
23.8.2 评论信息公共类 361
23.9 小结 362
第24章 图书销售管理系统 363
24.1 系统总体设计 363
24.1.1 销售系统功能设计 363
24.1.2 系统功能模块划分 364
24.2 数据库设计 364
24.2.1 系统概要设计 364
24.2.2 数据库表设计 364
24.2.3 数据库表关系设计 367
24.2.4 数据表到数据类的映射 368
24.3 网络商城的界面设计 368
24.3.1 用户登录后的主界面设计 368
24.3.2 书籍的类别树设计 369
24.3.3 系统主页面 370
24.4 用户登录和注册功能 370
24.4.1 用户登录 371
24.4.2 用户注册 374
24.5 书籍类别管理功能 378
24.5.1 类别管理界面设计 378
24.5.2 使用TreeView控件设置导航信息 380
24.5.3 添加新的图书类别 382
24.5.4 修改图书类别 382
24.5.5 图书类别排序 383
24.5.6 删除图书类别 384
24.6 书籍管理功能 385
24.6.1 动态加载书籍类别 385
24.6.2 书籍管理 387
24.6.3 添加书籍 392
24.6.4 修改书籍 394
24.6.5 删除书籍 396
24.7 书籍图片管理功能 397
24.7.1 图片的管理 397
24.7.2 上传图片 399
24.7.3 设置书籍默认图片 402
24.7.4 删除图片 402
24.8 书籍评论管理功能 403
24.8.1 显示评论信息 403
24.8.2 查看和发表单本书的评论 405
24.8.3 删除单本书籍的评论 408
24.9 购物车和订单管理功能 409
24.9.1 浏览书籍 409
24.9.2 购买书籍 413
24.9.3 查看购物车 415
24.9.4 提交订单 419
24.10 小结 421
第25章 发布程序(制作安装程序) 424
25.1 ASP.NET应用程序的部署准备 424
25.1.1 ASP.NET应用程序的部署方案 424
25.1.2 创建Web程序测试项目 424
25.2 使用VS2008模板创建安装文件 425
25.2.1 创建Web程序测试项目 425
25.2.2 创建测试程序的安装文件 426
25.2.3 安装Web项目 428
25.3 使用XCopy部署远程网站 429
25.4 安装完成后的配置 431
25.5 安装完成后的测试 432
25.6 小结 432