第1篇 ASP.NET 2.0网站开发基础 3
第1章 认识ASP.NET 2.0 3
1.1 ASP.NET 2.0概述 4
1.1.1 ASP.NET 2.0发展历程 4
1.1.2 ASP.NET 2.0新特性 4
1.2 ASP.NET集成开发环境 4
1.2.1 安装Visual Studio 2005开发工具 4
1.2.2 主窗口 7
1.2.3 窗体设计器 8
1.2.4 文档大纲 8
1.2.5 工具箱 9
1.2.6 解决方案资源管理器 9
1.2.7 服务器资源管理器 10
1.2.8 属性窗口 10
1.3 IIS服务器安装、配置与管理 10
1.3.1 为什么要安装IIS 10
1.3.2 IIS安装 11
1.3.3 IIS配置与管理 13
1.4 ASP.NET2.0网站的基本设计步骤 14
1.4.1 创建ASP.NET网站 14
1.4.2 创建Web窗体 15
1.4.3 设计Web窗体界面 16
1.4.4 编写代码 17
1.4.5 运行程序 18
1.5 ASP.NET帮助系统 19
1.5.1 安装MSDN帮助 19
1.5.2 如何使用帮助系统 22
1.5.3 利用帮助附带的示例学习编程 24
1.6 网站测试与典型环境配置 24
1.6.1 测试网站服务器 24
1.6.2 几种典型网站环境配置 27
第2章 ASP.NET网页语法 31
2.1 ASP.NET网页扩展名 32
2.2 页面指令 32
2.1.1 @Page指令 32
2.1.2 @Import指令 34
2.1.3 @OutputCache指令 35
2.1.4 @Implements指令 36
2.1.5 @Register指令 36
2.1.6 @Assembly指令 36
2.1.7 @Control指令 37
2.1.8 @Master指令 38
2.1.9 @MasterType指令 39
2.1.10 @PreviousPageType指令 39
2.1.11 @Reference指令 39
2.3 ASPX文件内容注释 40
2.4 服务器端文件包含 40
2.5 HTML服务器控件语法 40
2.6 ASP.NET服务器语法 41
2.7 代码块语法〈%%〉 41
2.8 数据绑定语法 42
2.9 对象标记语法 43
2.10 表达式语法 44
第3章 字符串、日期处理 45
3.1 常用字符串处理方法 46
3.1.1 比较字符串 47
3.1.2 定位字符及子串 48
3.1.3 格式化字符串 48
3.1.4 截取字符串 48
3.1.5 分裂字符串 49
3.1.6 插入字符串 50
3.1.7 填充字符串 50
3.1.8 删除字符串 51
3.1.9 移除字符串 51
3.1.10 复制字符串 52
3.1.11 替换字符串 52
3.2 常用日期处理方法 53
3.2.1 获得系统当前日期 55
3.2.2 获得系统当前时间 56
3.2.3 同时获得系统当前日期和时间 56
3.2.4 获取当前日期是星期几 56
3.2.5 获取当前年的天数 57
3.2.6 获取当前月的天数 57
3.2.7 获取当前日期的前一天 58
3.2.8 使用TimeSpan对象获取时间间隔 58
3.2.9 典型实例 59
第2篇 ASP.NET 2.0内置对象 63
第4章 Page对象 63
4.1 Page对象的属性 64
4.1.1 Buffer属性 64
4.1.2 ClientID属性 64
4.1.3 ClientQueryString属性 64
4.1.4 ClientScript属性 64
4.1.5 ContentType属性 65
4.1.6 StyleSheetTheme、SkinID、Theme和EnableTheming属性 65
4.1.7 ErrorPage属性 66
4.1.8 Header属性 67
4.1.9 IsPostBack属性 67
4.1.10 MaintainScrollPositionOnPostBack属性 67
4.1.11 Master和MasterPageFile属性 67
4.1.12 Title属性 68
4.2 Page对象的方法 69
4.2.1 FindControl方法 69
4.2.2 GetPostBackClientEvent方法 69
4.2.3 GetPostBackClientHyperlink方法 69
4.2.4 GetPostBackEventReference方法 69
4.2.5 IsClientScriptBlockRegistered方法 70
4.2.6 MapPath方法 70
4.2.7 ParseControl方法 70
4.2.8 RegisterArrayDeclaration方法 70
4.2.9 RegisterAsyncTask方法 70
4.2.10 RegisterClientScriptBlock方法 71
4.2.11 RegisterHiddenField方法 71
4.2.12 RegisterOnSubmitStatement方法 71
4.2.13 RegisterRequiresControlState方法 72
4.2.14 RegisterRequiresPostBack方法 72
4.2.15 ResolveClientUrl方法 72
4.2.16 ResolveUrl方法 72
4.2.17 SetFocus方法 72
4.3 Page对象的应用 73
第5章 Response和Request对象 75
5.1 Response对象的属性 76
5.1.1 BufferOutput属性 76
5.1.2 Cache属性 76
5.1.3 CacheControl属性 76
5.1.4 Charset、ContentEncoding和ContentType属性 76
5.1.5 Expires和ExpiresAbsolute属性 77
5.1.6 Filter属性 77
5.1.7 HeaderEncoding属性 77
5.1.8 IsClientConnected属性 77
5.1.9 IsRequestBeginRedirected和RedirectLocation属性 78
5.1.10 Output和OutputStream属性 78
5.1.11 Status、StatusCode和StatusDescription属性 79
5.1.12 SuppressContent属性 79
5.2 Response对象的方法 80
5.2.1 AddCacheDependency方法 80
5.2.2 AddCacheItemDependencies和AddCacheItemDependency方法 80
5.2.3 AddFileDependencies和AddFileDependency方法 80
5.2.4 AppendCookie和SetCookie方法 80
5.2.5 AppendHeader方法 81
5.2.6 AppendTolog方法 81
5.2.7 ApplyAppPathModifier方法 82
5.2.8 BinaryWrite方法 82
5.2.9 Clear、ClearContent和ClearHeaders方法 82
5.2.10 Close和End方法 82
5.2.11 Flush方法 82
5.2.12 Pics方法 83
5.2.13 Redirect方法 83
5.2.14 Write和WriteFile方法 83
5.3 Response对象的应用 84
5.4 Request对象的属性 85
5.4.1 AcceptTypes属性 85
5.4.2 AnonymousID属性 85
5.4.3 ApplicationPath和AppRelativeCurrentExecutionFilePath属性 85
5.4.4 Browser属性 86
5.4.5 ContentEncoding、ContentLength和ContentType属性 86
5.4.6 Cookies属性 86
5.4.7 CurrentExecutionFilePath、FilePath和Path属性 87
5.4.8 Headers属性 87
5.4.9 HttpMethod和RequestType属性 87
5.4.10 InputStream属性 87
5.4.11 Item属性 88
5.4.12 Params属性 88
5.4.13 PathInfo属性 88
5.4.14 PhysicalApplicationPath和PhysicalPath属性 88
5.4.15 QueryString属性 88
5.4.16 TotalBytes属性 89
5.4.17 UserHostAddress和UserHostName属性 89
5.4.18 UserLanguages属性 89
5.5 Request对象的方法 90
5.5.1 BinaryRead方法 90
5.5.2 MapImageCoordinates方法 90
5.5.3 MapPath方法 90
5.5.4 SaveAs方法 90
5.5.5 ValidateInput方法 91
5.6 Request对象的应用 91
第6章 Application、Session对象 93
6.1 Application对象的属性 94
6.1.1 AllKeys属性 94
6.1.2 Contents属性 94
6.1.3 Count属性 95
6.1.4 Item属性 95
6.1.5 Keys属性 96
6.1.6 StaticObjects属性 96
6.2 Application对象的方法 96
6.2.1 Add方法 96
6.2.2 Clear方法 96
6.2.3 Get和GetKey方法 96
6.2.4 Lock和UnLock方法 97
6.2.5 Remove、RemoveAll和RemoveAt方法 98
6.2.6 Set方法 99
6.3 Application对象的事件 99
6.3.1 Application_Start事件 99
6.3.2 Application_End事件 99
6.4 Application对象的应用 100
6.5 Session对象的属性 101
6.5.1 CodePage属性 101
6.5.2 Contents属性 101
6.5.3 IsCookieless和CookieMode属性 102
6.5.4 Count属性 102
6.5.5 IsNewSession属性 103
6.5.6 IsReadOnly属性 103
6.5.7 Item属性 103
6.5.8 Keys属性 104
6.5.9 Mode属性 104
6.5.10 SessionID属性 104
6.5.11 StaticObjects属性 104
6.5.12 Timeout属性 104
6.6 Session对象的方法 105
6.6.1 Abandon方法 105
6.6.2 Add方法 105
6.6.3 Clear方法 105
6.6.4 CopyTo方法 105
6.6.5 GetEnumerator方法 106
6.6.6 Remove、RemoveAll和RemoveAt方法 106
6.7 Session对象的事件 107
6.7.1 Session_Start事件 107
6.7.2 Session_End事件 107
6.8 Session对象的应用 107
第7章 Server对象 109
7.1 Server对象的属性 110
7.1.1 MachineName属性 110
7.1.2 ScriptTimeout属性 110
7.2 Server对象的方法 110
7.2.1 ClearError和GetLastError方法 110
7.2.2 CreateObject方法 111
7.2.3 CreateObjectFromClsid方法 111
7.2.4 Execute方法 111
7.2.5 HtmlDecode和HtmlEncode方法 112
7.2.6 MapPath方法 113
7.2.7 Transfer方法 113
7.2.8 UrlDecode和UrlEncode方法 114
7.2.9 UrlPathEncode方法 115
7.2.10 UrlTokenDecode和UrlTokenEncode方法 115
7.3 Server对象的应用 116
第8章 Cookie对象 117
8.1 Cookie对象的属性 118
8.1.1 Domain属性 118
8.1.2 Expires属性 118
8.1.3 HasKeys属性 118
8.1.4 HttpOnly属性 119
8.1.5 Item属性 119
8.1.6 Name、Value和Values属性 120
8.1.7 Path属性 120
8.1.8 Secure属性 121
8.2 Cookie对象的方法 121
8.2.1 Equals方法 121
8.2.2 ToString方法 122
8.3 Cookie对象的应用 122
第9章 Cache对象 125
9.1 Cache对象的属性 126
9.1.1 Count属性 126
9.1.2 EffectivePrivateBytesLimit属性 126
9.1.3 Item属性 126
9.2 Cache对象的方法 126
9.2.1 Add方法 126
9.2.2 Get方法 128
9.2.3 GetEnumerator方法 128
9.2.4 Insert方法 128
9.2.5 Remove方法 130
9.3 Cache对象的应用 131
第10章 Global.asax全局程序集文件 133
10.1 Global.asax文件介绍 134
10.2 Global.asax文件语法 134
10.2.1 指令 134
10.2.2 代码声明块 135
10.2.3 代码呈现块 136
10.2.4 服务器端对象标记语法 136
10.2.5 服务器端包括指令语法 136
10.2.6 事件 137
10.3 为Global.asax文件使用自己的基类 138
10.4 程序中使用Global.asax文件 139
第3篇 网站界面设计 143
第11章 标准服务器控件 143
11.1 Label控件 144
11.1.1 属性 144
11.1.2 方法 145
11.1.3 事件 146
11.2 TextBox控件 147
11.2.1 属性 147
11.2.2 方法 148
11.2.3 事件 148
11.3 Button控件 149
11.3.1 属性 149
11.3.2 方法 150
11.3.3 事件 151
11.4 LinkButton控件 152
11.5 ImageButton控件 153
11.6 HyperLink控件 154
11.6.1 属性 154
11.6.2 方法 155
11.7 DropDownList控件 156
11.7.1 属性 156
11.7.2 方法 157
11.7.3 事件 157
11.8 CheckBox控件 158
11.8.1 属性 159
11.8.2 事件 160
11.9 ListBox控件 160
11.9.1 属性 161
11.9.2 方法 161
11.9.3 事件 163
11.10 RadioButton控件 164
11.11 Calender控件 165
11.11.1 属性 165
11.11.2 方法 166
11.11.3 事件 167
11.12 FileUpload控件 167
11.12.1 属性 167
11.12.2 方法 168
11.13 CheckBoxList控件 169
11.13.1 属性 170
11.13.2 事件 171
11.14 RadioButtonList控件 172
11.14.1 属性 172
11.14.2 方法 173
11.15 Image控件 174
11.15.1 属性 174
11.15.2 方法 175
11.16 ImageMap控件 176
11.17 Table控件 179
11.18 BulletedList控件 181
11.19 HiddenField控件 183
11.19.1 属性 183
11.19.2 事件 184
11.20 Literal控件 185
11.21 AdRotator控件 186
11.21.1 属性 186
11.21.2 方法 187
11.21.3 事件 188
11.22 Wizard控件 189
11.22.1 属性 189
11.22.2 方法 190
11.22.3 事件 191
11.23 XML控件 192
11.24 Multi View和View控件 195
11.24.1 属性 195
11.24.2 方法 196
11.24.3 事件 197
11.25 Panel控件 199
11.25.1 属性 199
11.25.2 方法 200
11.26 PlaceHolder控件 201
11.27 Substitution控件 202
11.28 Localize控件 204
11.29 标准服务器控件的典型应用 205
第12章 验证控件 207
12.1 RequiredFieldValidator控件 208
12.1.1 功能 208
12.1.2 属性 208
12.1.3 方法 210
12.1.4 事件 210
12.1.5 典型实例 211
12.2 RegularExpressionValidator控件 211
12.2.1 功能 211
12.2.2 属性 211
12.2.3 典型实例 213
12.3 RangeValidator控件 214
12.3.1 功能 214
12.3.2 属性 214
12.3.3 典型实例 215
12.4 CompareValidator控件 216
12.4.1 功能 216
12.4.2 属性 216
12.4.3 典型实例 218
12.5 CustomValidator控件 218
12.5.1 功能 218
12.5.2 属性 218
12.5.3 事件 220
12.5.4 典型实例 221
12.6 ValidationSummary控件 222
12.6.1 功能 222
12.6.2 属性 222
12.6.3 典型实例 223
第13章 登录控件 225
13.1 CreateUserWizard控件 226
13.1.1 功能 226
13.1.2 属性 226
13.1.3 方法 229
13.1.4 事件 230
13.1.5 典型实例 231
13.2 Login控件 233
13.2.1 功能 233
13.2.2 属性 233
13.2.3 事件 236
13.2.4 典型实例 237
13.3 LoginName控件 238
13.3.1 功能 238
13.3.2 属性 238
13.3.3 事件 238
13.3.4 典型实例 239
13.4 LoginStatus控件 239
13.4.1 功能 239
13.4.2 属性 239
13.4.3 事件 241
13.4.4 典型实例 242
13.5 LoginView控件 242
13.5.1 功能 242
13.5.2 属性 243
13.5.3 事件 244
13.5.4 典型实例 244
13.6 ChangePassword控件 245
13.6.1 功能 245
13.6.2 属性 245
13.6.3 事件 247
13.6.4 典型实例 247
13.7 PasswordRecovery控件 248
13.7.1 功能 248
13.7.2 属性 248
13.7.3 事件 251
13.7.4 典型实例 251
第14章 WebParts部件 253
14.1 WebPartManager控件 254
14.1.1 功能 254
14.1.2 属性 254
14.1.3 方法 257
14.1.4 事件 259
14.2 WebPartZone控件 261
14.2.1 功能 261
14.2.2 属性 261
14.2.3 方法 265
14.2.4 事件 266
14.3 EditorZone控件 266
14.3.1 功能 266
14.3.2 属性 267
14.4 AppearanceEditorPart控件 269
14.4.1 功能 269
14.4.2 属性 269
14.4.3 方法 272
14.5 BehaviorEditorPart控件 273
14.6 LayoutEditorPart控件 275
14.7 PropertyGridEditorPart控件 276
14.8 CatalogZone控件 278
14.9 DeclarativeCatalogPart控件 279
14.9.1 功能 279
14.9.2 属性 279
14.9.3 方法 281
14.10 PageCatalogPart控件 283
14.11 ImportCatalogPart控件 284
14.11.1 功能 284
14.11.2 属性 284
14.12 ConnectionsZone控件 286
14.12.1 功能 286
14.12.2 属性 287
14.13 ProxyWebPartManager控件 297
14.13.1 功能 297
14.13.2 属性 297
第15章 母版页 303
15.1 母版页概述 304
15.2 创建母版页 305
15.3 创建内容页 307
15.4 嵌套母版页 309
15.5 动态加载母版页 312
15.6 使用内容页访问母版页控件和属性 315
15.6.1 使用FindControl方法访问母版中的控件 315
15.6.2 使用@MasterType指令 316
15.7 母版页的典型应用 317
第16章 主题 319
16.1 主题的概述 320
16.1.1 组成元素 320
16.1.2 文件存储和组织方式 321
16.2 创建主题 322
16.2.1 创建外观文件 322
16.2.2 为主题添加CSS样式 324
16.3 应用主题 325
16.3.1 指定和禁用主题 325
16.3.2 动态加载主题 328
第4篇 数据库开发技术 333
第17章 SQL语句在ASP.NET中的应用 333
17.1 SQL Server 2005数据库 334
17.1.1 安装SQL Server 2005数据库 334
17.1.2 创建SQL Server 2005数据库 342
17.1.3 创建SQL Server 2005数据表 344
17.2 SQL语言简介 347
17.3 SELECT语句 348
17.3.1 选择所有列 349
17.3.2 选择部分列 350
17.3.3 使用列别名 350
17.4 FROM子句 353
17.4.1 从表和视图中选择数据源 354
17.4.2 以表的名称作为列的前缀 354
17.4.3 在一个FROM子句中使用子查询 355
17.5 WHERE子句 355
17.5.1 使用WHERE子句定义查询条件 355
17.5.2 使用比较运算符查询筛选符合条件的数据 356
17.5.3 使用范围运算符查询介于某一范围的数据 357
17.5.4 模糊查询 358
17.5.5 使用列表运算符查询 359
17.5.6 复合条件查询 360
17.5.7 查询空数据 361
17.6 查询结果的处理 362
17.6.1 限制结果集返回的行数 362
17.6.2 去掉查询结果中的重复记录 362
17.7 ORDER BY子句 364
17.7.1 单列排序 364
17.7.2 多列排序 364
17.8 GROUP BY子句 365
17.8.1 按单列进行分组 365
17.8.2 按多列进行分组 366
17.8.3 与聚集函数一起使用 367
17.8.4 与HAVING子句一起使用 368
17.8.5 对分组结果进行排序 369
17.9 使用聚合函数 370
17.9.1 求和函数SUM 370
17.9.2 求平均值函数AVG 371
17.9.3 求最小值函数MIN和最大值函数MAX 372
17.9.4 统计记录个数的函数COUNT 372
17.10 嵌套子查询 373
17.10.1 简单的嵌套子查询 373
17.10.2 带IN的嵌套子查询 374
17.10.3 带SOME和ANY的嵌套子查询 375
17.10.4 带ALL的嵌套子查询 375
17.10.5 带EXISTS嵌套子查询 376
17.11 联接查询 376
17.11.1 内联接 376
17.11.2 外联接 377
17.11.3 交叉联接 380
17.11.4 自联接 381
17.11.5 多表联接 382
17.12 数据查询技术的典型应用 382
17.12.1 复杂条件查询 382
17.12.2 数据分页 384
17.13 数据添加、修改和删除 386
17.13.1 INSERT语句 386
17.13.2 UPDATE语句 387
17.13.3 DELETE语句 388
17.14 使用SQL维护数据库 389
17.14.1 备份数据库 389
17.14.2 还原数据库 391
17.14.3 附加数据库 392
17.14.4 分离数据库 394
第18章 高性能数据处理技术 397
18.1 视图 398
18.1.1 视图的概述 398
18.1.2 视图的建立、修改和删除 398
18.1.3 应用视图显示多个相关联表的数据信息 403
18.2 存储过程 403
18.2.1 存储过程概述 404
18.2.2 存储过程的建立、修改和删除 404
18.2.3 应用存储过程验证用户登录身份 407
18.3 触发器 409
18.3.1 触发器的概述 409
18.3.2 应用CREATE TRIGGER语句创建触发器 409
18.3.3 删除触发器 410
18.3.4 应用触发器自动插入日志信息 410
18.4 游标 412
18.4.1 游标的概述 412
18.4.2 声明游标 412
18.4.3 打开游标 413
18.4.4 读取游标 414
18.4.5 关闭游标 415
18.4.6 释放游标 415
18.4.7 应用游标自动更改学生的学分 415
第19章 ADO.NET数据库技术 417
19.1 ADO.NET概述 418
19.2 ADO.NET对象模型 418
19.2.1 Connection对象 418
19.2.2 Command对象 420
19.2.3 DataReader对象 423
19.2.4 DataSet对象 424
19.2.5 DataAdapter对象 427
19.3 数据库开发基本操作 429
19.3.1 打开数据库连接 429
19.3.2 向数据库中添加数据 430
19.3.3 修改数据库中数据 435
19.3.4 删除数据库中数据 438
19.3.5 查询数据库中数据 442
19.3.6 使用事务 446
第20章 数据绑定控件 449
20.1 SqlDataSource控件 450
20.1.1 SqlDataSource控件的属性、方法和事件 450
20.1.2 SqlDataSource控件实例应用 457
20.2 AccessDataSource控件 461
20.2.1 AccessDataSource控件的属性、方法和事件 461
20.2.2 AccessDataSource控件实例应用 463
20.3 ObjectDataSource控件 465
20.3.1 N层应用程序概述 465
20.3.2 ObjectDataSource控件的属性、方法和事件 466
20.3.3 ObjectDataSource控件实例应用 469
20.4 XmlDataSource控件 473
20.4.1 XmlDataSource控件的属性、方法和事件 474
20.4.2 XmlDataSource控件实例应用 477
20.5 SiteMapDataSource控件 480
20.5.1 SiteMapDataSource控件的属性、方法和事件 480
20.5.2 SiteMapDataSource控件实例应用 483
20.6 GridView控件 484
20.6.1 GridView控件的属性、方法和事件 485
20.6.2 GridView控件实例应用 492
20.7 DataList控件 494
20.7.1 DataList控件的属性、方法和事件 494
20.7.2 DataList控件实例应用 498
20.8 DetailsView控件 500
20.8.1 DetailsView控件的属性、方法和事件 500
20.8.2 DetailsView控件实例应用 505
20.9 FormView控件 505
20.9.1 FormView控件的属性、方法和事件 505
20.9.2 FormView控件实例应用 509
第5篇 ASP.NET 2.0网站高级开发 513
第21章 ASP.NET数据缓存技术 513
21.1 ASP.NET缓存概述 514
21.1.1 新增功能 514
21.1.2 缓存的优点 514
21.2 页面输出缓存 515
21.2.1 页面输出缓存概述 515
2 1.2.2 @OutputCache指令 515
21.2.3 使用页面输出缓存API 517
21.3 页面部分缓存 519
21.3.1 页面部分缓存概述 519
21.3.2 使用@OutputCache指令设置用户控件缓存功能 519
21.3.3 使用PartialCachingAttribute类设置用户控件缓存功能 520
21.3.4 使用ControlCachePolicy类 521
21.4 页面数据缓存 522
第22章 站点导航和导航控件 527
22.1 站点地图概述 528
22.2 SiteMapPath控件 528
22.2.1 属性 529
22.2.2 事件 530
22.2.3 典型应用 530
22.3 TreeView控件 531
22.3.1 属性 531
22.3.2 事件 534
22.3.3 典型应用 536
22.4 Menu控件 538
22.4.1 属性 538
22.4.2 事件 540
22.4.3 典型应用 540
第23章 Web用户控件 543
23.1 Web用户控件的概述 544
23.1.1 Web用户控件概述 544
23.1.2 Web用户控件的优点 544
23.2 创建用户控件 544
23.2.1 创建用户控件 544
23.2.2 以编程方式创建ASP.NET用户控件 547
23.2.3 将Web页转换为Web用户控件 549
23.3 用户控件的典型应用 551
23.3.1 站内搜索 551
23.3.2 导航条 552
第24章 创建ASP.NET服务器控件 553
24.1 ASP.NET服务器控件 554
24.1.1 服务器控件的概念 554
24.1.2 服务器控件的类型 554
24.1.3 服务器控件的生命周期 556
24.2 创建ASP.NET服务器控件 557
24.2.1 为控件选择基类 557
24.2.2 使用Control类和WebControl类创建简单控件 557
24.2.3 创建服务器控件属性 562
24.2.4 服务器控件方法和事件 566
24.3 建立服务器控件——实现邮件发送 570
24.3.1 创建“发送邮件”服务器控件 570
24.3.2 自定义工具箱图标 573
第25章 Web Service基础 575
25.1 Web Service概述 576
25.2 Web Service页面指令 576
25.3 Web Service的传输协议 577
25.3.1 Web Service的传输协议概述 577
25.3.2 HTTP-GET和HTTP.POST 577
25.3.3 SOAP协议 578
25.4 WebMethod和WebService属性 578
25.4.1 WebMethod属性 578
25.4.2 WebService属性 579
25.5 Web服务描述语言 579
25.6 UDDI协议 580
第26章 创建和使用Web Service 581
26.1 创建Web Service 582
26.1.1 创建简单的Web Service 582
26.1.2 通过SOAP标题创建Web Service 584
26.2 使用Web Service 585
26.2.1 添加Web引用 585
26.2.2 调用Web Services 588
26.2.3 通过SOAP标题使用Web Service 588
26.3 典型应用 589
第6篇 电子邮件 593
第27章 E-mail发送与接收 593
27.1 使用SMTP服务发送电子邮件 594
27.1.1 安装与配置SMTP服务 594
27.1.2 MailMessage类和SmtpClient类 595
27.1.3 使用SMTP服务发送邮件 596
27.2 使用Jmail组件发送电子邮件 599
27.2.1 Jmail组件 599
27.2.2 使用Jmail组件发送邮件 600
27.2.3 使用Jmail组件接收邮件 602
27.3 使用POP3协议发送电子邮件 604
27.3.1 POP3协议 604
27.3.2 使用POP3协议发送电子邮件 606
第7篇 文件、图形与多媒体 611
第28章 文件处理技术 611
28.1 System.IO命名空间 612
28.1.1 File类 613
28.1.2 Directory类 615
28.1.3 FileInfo类 617
28.1.4 DirectoryInfo类 618
28.1.5 FileStream类 620
28.1.6 StreamWriter类 623
28.1.7 StreamReader类 625
28.1.8 GzipStream类 626
28.2 文件的基本操作 628
28.2.1 判断文件是否存在 628
28.2.2 创建文件 628
28.2.3 拷贝或移动文件 628
28.2.4 删除文件 630
28.2.5 获取文件基本信息 630
28.3 文件夹的基本操作 630
28.3.1 判断文件夹是否存在 630
28.3.2 创建文件夹 630
28.3.3 移动文件夹 631
28.3.4 删除文件夹 631
28.3.5 遍历文件夹中文件 632
28.4 文件写入和读取 633
28.4.1 文件的写入 633
28.4.2 文件的读取 634
28.5 文件的上传与下载 635
28.5.1 单文件上传 635
28.5.2 多文件上传 636
28.5.3 文件下载 638
28.6 解压缩文件 639
28.6.1 使用GZip解压缩文件 639
28.6.2 使用WinRAR解压缩文件 640
第29章 GDI+图形图像 643
29.1 GDI+概述 644
29.2 Graphics对象 644
29.3 绘制直线、曲线和图形 647
29.3.1 绘制直线 647
29.3.2 绘制矩形 648
29.3.3 绘制椭圆和弧 649
29.3.4 绘制多边形 651
29.3.5 绘制基数样条 652
29.3.6 绘制贝塞尔样条 654
29.3.7 绘制图形路径 656
29.3.8 GDI+中的画笔 657
29.3.9 GDI+中曲线的填充 660
29.3.10 GDI+中的区域 661
29.3.11 用直线和曲线消除锯齿 662
29.4 图像、位图和图元文件 664
29.4.1 位图类型 664
29.4.2 GDI+中的元文件 665
29.4.3 在GDI+中绘制和克隆图像 665
29.4.4 在GDI+中缩放图像 667
29.5 坐标系和坐标变换 668
29.5.1 坐标系类型 668
29.5.2 变形的矩阵表示形式 668
29.5.3 全局变换和局部变换 670
29.6 GDI+绘制图表的应用 671
29.6.1 柱型图分析小轿车月销售比例 671
29.6.2 饼图分析商品在市场的占有比例 673
29.6.3 折线图分析网站流量 675
29.6.4 绘制验证码图片 677
第30章 多媒体技术 679
30.1 多媒体概述 680
30.2 MP3音频处理 680
30.2.1 MP3格式概述 680
30.2.2 MP3在线点播 681
30.2.3 MP3歌曲下载 683
30.3 视频处理 685
30.3.1 视频概述 685
30.3.2 视频播放器 687
30.3.3 带记忆的在线影片欣赏 688
30.4 网站中播放flash 691
30.4.1 普通的flash播放 692
30.4.2 在网页中播放背景透明的flash动画 692
第8篇 水晶报表技术 697
第31章 水晶报表 697
31.1 水晶报表简介 698
31.2 .NET平台下的Crystal报表 698
31.2.1 Crystal Reports.Net简介 698
31.2.2 Crystal报表设计器的环境介绍 698
31.2.3 Crystal报表设计区域介绍 699
31.3 水晶报表数据源和数据库的操作 700
31.3.1 水晶报表的数据源 700
31.3.2 报表数据的访问模式 700
31.3.3 排序报表数据 708
31.3.4 分组报表数据 710
31.3.5 筛选报表数据 711
31.3.6 使用交叉表与图表 718
31.3.7 活用子报表 722
第9篇 XML、Ajax 729
第32章 XML技术 729
32.1 XML的概述 730
32.1.1 引入XML 730
32.1.2 XML设计特性 730
32.2 XML的基本语法 730
32.2.1 XML文档结构 730
32.2.2 文档类型定义DTD 731
32.2.3 XML模式 736
32.3 .NET Framework中XML的命名空间 737
32.4 使用DOM处理XML数据 739
32.4.1 DOM模型概述 739
32.4.2 XmlNode类 739
32.4.3 XmlDocument类 741
32.4.4 读取XML文档 743
32.4.5 创建DOM节点 744
32.4.6 为DOM节点创建属性 745
32.4.7 修改DOM节点 746
32.4.8 删除DOM节点 746
32.5 XML与DataSet 747
32.5.1 使用DataSet加载XML数据 747
32.5.2 使用XmlDataDocument加载关系数据 747
第33章 ASP.NET中的成熟Ajax架构——Atlas 749
33.1 什么是Ajax 750
33.2 Ajax的原理 750
33.3 Ajax与Atlas的关系 750
33.4 Atlas环境的下载与安装 751
33.5 创建Atlas网站 753
33.6 Atlas网站的Web.config配置文件 753
33.7 Atlas服务器控件 755
33.7.1 ScriptManager控件 755
33.7.2 UpdatePanel控件 756
33.7.3 Timer控件 757
33.8 Ajax在ASP.NET中的应用 758
第10篇 网站管理与安全 761
第34章 ASP.NET的配置与网站管理工具 761
34.1 ASP.NET中的配置文件 762
34.1.1 配置概述 762
34.1.2 Web.Config文件中的配置信息 762
34.2 ASP.NET MMC管理单元 763
34.2.1 “常规”选项卡 765
34.2.2 “自定义错误”选项卡 766
34.2.3 “授权”选项卡 768
34.2.4 “身份验证”选项卡 769
34.2.5 “应用程序”选项卡 771
34.2.6 “状态管理”选项卡 772
34.2.7 “位置”选项卡 773
34.3 Web网站管理工具 774
34.3.1 “主页”选项卡 775
34.3.2 “安全”选项卡 775
34.3.3 “应用程序”选项卡 779
34.3.4 “提供程序”选项卡 782
第35章 ASP.NET应用程序的安全性 785
35.1 安全性概述 786
35.2 身份验证 786
35.2.1 基于Windows的身份验证模式 786
35.2.2 基于窗体的身份验证模式 789
35.2.3 Passport身份验证模式 795
35.3 授权(Authorization) 795
35.3.1 ASP.NET提供的授权方式 795
35.3.2 使用User.Identity对象 796
35.3.3 使用User.IsInRole方法 797
35.3.4使用WindowsIdentity类 797
35.4 典型应用 798
第11篇 网站调试与发布 803
第36章 程序调试与错误处理 803
36.1 Visual Studio 2005中的调试 804
36.1.1 调试 804
36.1.2 调试工具栏 805
36.1.3 断点 806
36.1.4 单步调试代码 809
36.1.5 监视变量 809
36.1.6 跟踪点 810
36.2 错误处理 811
36.2.1 结构化异常处理 811
36.2.2 应用程序范围的错误页面 811
第37章 网站发布、打包与安装 813
37.1 网站发布 814
37.1.1 发布网站 814
37.1.2 测试发布的网站 815
37.2 打包与安装 818
37.2.1 打包网站 818
37.2.2 安装文件 821
附录 实例索引 823