第1章 Visual Studio 2005 IDE集成开发环境新功能介绍 1
第1章 Visual Studio 2005 IDE集成开发环境新功能介绍 1
第21章 ASP.NET 2.0其他新增控件介绍(收录于附书光盘) 2
1.1 Visual Studio 2005对程序员的意义 2
范例21-1 FileUpload控件上传文件 2
第21章 ASP.NET 2.0其他新增控件介绍(收录于附书光盘) 2
21.1 FileUpload文件上传控件 2
1.2 Visual Studio 2005开发工具版本介绍 4
1.3 Visual Studio 2005与Visual Studio.NET 2003开发环境的共存 4
范例21-2 FileUpload多个文件上传 4
1.4 Visual Studio 2005开发工具安装 7
范例21-3 限制FileUpload文件上传类型 8
1.5 建立您的第一个ASP.NET 2.0的WebSite网站 9
1.6 解决方案资源管理器功能图解 12
范例21-4 设定TextBox控件AutoCompleteType自动完成属性 12
21.2 TextBox的自动完成(AutoCompleteType)改良 12
1.7 方案与项目的管理与设置 14
范例1-1 添加第二个网站项目 14
21.3 DropDownLfist控件的AppendData BoundItems属性 15
范例1-2 设置显示方案 16
范例21-5 使用DropDownList控件的AppendDataBoundItems属性 16
1.8 设计模式与源文件模式 17
21.4 Panel控件的滚动条 17
范例21-6 使用Panel控件的滚动条 17
1.9 文档大纲窗口 18
21.5 MultiView与View控件 18
1.10 HTML标签导航(Tag Navigation) 19
范例21-7 使用MultiView与View控件显示图片 19
1.12 HTML标签格式保留的改良 20
1.11 源文件模式下控件拖曳的改良 20
1.13 显示不可见的HTML Elements 21
1.14 文档窗口 21
范例21-8 MultiView结合Menu控件 22
1.15 窗口位置的配置 24
21.6 Wizard向导控件 24
范例21-9 以Wizard控件建立会员帐号申请 25
1.16 Web开发环境的设置 25
1.17 安装部署 29
1.18 Visual Studio 2005 StarterKit包 32
1.19 范例程序名称列表 33
1.20 结论 34
第2章 Visual Studio 2005高级功能秘技 35
第2章 Visual Studio 2005高级功能秘技 35
2.1 CodeBeside 36
范例21-10 编辑Wizard控件模板 37
范例21-11 Wizard控件事件的应用 40
范例2-1 Partial Class的应用 41
2.2 CodeBehind 2.0 43
21.7 结论 44
2.3 项目设计工具(Project Designer) 45
2.4 将ASP.NET程序开发服务器Port固定下来的秘技 46
范例2-2 固定ASP.NET程序开发服务器的Port 46
2.5 ASP.NET网站多个.NET Framework版本的设置 49
2.6 aspnet_regiis.exe IIS登录工具 50
范例2-3 以aspnet_regiis.exe手动注册ASP.NET版本 50
2.7 网站数据库的注册 53
2.8 数据库连接字符串的设置与读取 53
范例2-4 读取Web.config中的数据库连接设置 54
2.9 数据库连接设置的加解密 55
2.10 ASP.NET网站特殊文件夹 56
2.11 代码段(Code Snippets) 57
范例2-5 使用代码段 58
范例2-6 下载扩充C#代码段包 59
2.12 程序代码重构(Refactoring) 65
范例2-7 使用重构的提取方法 66
范例2-8 使用重构的重命名 68
2.13 ASP.NET 2.0的编译模型(Compilation Model) 70
范例2-9 动态编译的证明 71
范例2-10 使用aspnet_compiler.exe预编译 74
2.14 ClientBuildManager类的编译功能 76
范例2-11 通过程序API运行编译工作 77
2.15 发布网站(Publish Web Site) 79
范例2-12 一个项目同时使用C#与VB类程序 80
2.16 项目同时使用C#与VB.NET两种语言及多组件的技巧 80
2.17 结论 84
第3章 SQL Server 2005数据库的安装、管理与使用策略 85
第3章 SQL Server 2005数据库的安装、管理与使用策略 85
3.1 SQL Server 2005数据库介绍 86
3.2 SQL Server 2005版本介绍 87
3.3 SQL Server 2005 Express的SP1后续新版本及修补更新 89
3.4 软硬件安装需求 93
3.5 谈SQL 2005标准版、SQL 2005 Express、SQL 2000共存安装 96
3.6 安装SQL Server 2005联机丛书 105
3.7 导入北风数据库(Northwind) 106
3.8 SQL Server 2005数据库的设置与管理 108
3.9 在VS 2005 IDE中连接SQL Server数据库 111
范例3-1 VS 2005连接数据库 112
3.10 数据库功能介绍 114
范例3-2 定义视图 116
3.11 结论 120
第4章 ASP.NET 2.0的Page、Cross Page Posting与Client-Side Script新功能 121
第4章 ASP.NET 2.0的Page、Cross Page Posting与Client-Side Script新功能 121
4.1 跨网页公布(Cross-Page Posting) 122
范例4-1 初步体验跨网页公布 123
范例4-2 使用@PreviousPageType指示符 126
范例4-3 使用@Reference指示符 128
范例4-4 使用HtmlHead类添加CSS设置 133
4.2 HtmlHead与HtmlMeta类 133
范例4-5 使用HtmlMeta类添加<Meta>设置 135
4.3 Client端Script的增强与改良 137
范例4-6 设置控制项成为焦点(Focus) 138
范例4-7 设置WebForm窗体默认按钮与焦点 139
范例4-8 Client端的Confirm确认对话框 142
范例4-9 在Server端的Button引发Client端Click事件(打开网页) 144
范例4-10 使用RegisterClientScriptInclude动态注册js文件 147
范例4-11 使用RegisterClientScriptBlock动态注册JavaScript指令区块 149
范例4-12 使用RegisterStartUpScript动态注册JavaScript指令 150
范例4-13 使用Callback进行异步数据库查询 151
4.4 Client端的异步Callback(Client-Callback) 151
范例4-14 使用Callback进行异步数据库查询(简化版) 156
4.5 ASP.NET网页指示符(Page Directive) 158
4.6 结论 159
第5章 微软ASP.NET 2.0的AJAX利剑——Atlas Framework 161
第5章 微软ASP.NET 2.0的AJAX利剑——Atlas Framework 161
5.1 台湾Atlas Framework技术推广之缘起 162
5.2 AJAX异步技术 163
范例5-1 AJAX简单范例 164
5.3 AJAX简单范例 164
5.4 AJAX范例程序特点说明 167
5.5 了解AJAX应用程序与ASP.NET Atlas Framework 168
5.6 ASP.NET Atlas Framework概观 171
5.7 结论 176
第6章 Atlas Framework快速上手体验 177
第6章 Atlas Framework快速上手体验 177
6.1 Atlas Framework系统环境设置 178
6.2 Hands-On Labs范例说明 181
6.3 新建Atlas Hands-On Lab项目 182
6.4 练习建议 182
6.5 实际范例讲解 183
范例6-1 创建基本的ASP.NET Atlas网页应用程序 183
范例6-2 以Atlas声明式语法创建网页应用程序 188
范例6-3 以Atlas声明式语法创建“自动完成TextBox” 191
范例6-4 以Atlas服务器控件创建“自动完成TextBox” 197
范例6-5 以Data-binding与模板创建Atlas网页应用程序 199
6.6 Atlas网站的Web.config配置文件 203
6.7 查看Atlas Framework技术蓝图的承诺 205
6.8 结论 207
第7章 Atlas Framework服务器端技术与大未来 209
第7章 Atlas Framework服务器端技术与大未来 209
7.1 以Server端与Client端为中心的两种开发模式 210
7.2 Atlas Framework系统环境安装设置 212
7.3 服务器的Atlas异步定时器应用 213
范例7-1 Atlas服务器时钟范例 214
范例7-2 Atlas服务器时钟范例GDI+加强版 219
7.4 再论Atlas异步更新与传统的页面更新 224
范例7-3 Atlas局部更新与传统更新之对比 224
范例7-4 日历控件结合Atlas异步 226
范例7-5 GridView控件结合Atlas异步 227
7.5 Atlas服务器控件属性与事件功能解说 229
7.6 Atlas Framework大未来 230
7.7 结论 231
第8章 全方位的神奇新对象My 233
第8章 全方位的神奇新对象My 233
8.1 My对象含义 234
8.2 My对象与项目类型相依性 237
8.3 My对象对C#程序员的意义 238
8.4 在C#环境中使用My对象的步骤 239
范例8-1 使用My.Computer对象 241
8.5 My的大分类对象功能简介 243
8.6 My.Application对象 244
范例8-2 使用My.Application.Info对象读取应用程序信息 246
范例8-3 使用My.Application.Log对象写入Log文件 249
范例8-4 使用My.Application.Log对象写入事件查看器(EventLog) 250
8.7 My.Computer对象 251
范例8-5 使用My.Computer.Info对象读取计算机信息 253
范例8-6 使用My.Computer.Audio对象播放音效 254
范例8-7 使用My.Computer.Clipboard对象读取剪贴板图片 256
范例8-8 使用My.Computer.FileSystem对象读取文本文件 259
范例8-9 使用My.Computer.Network对象Ping计算机IP 261
范例8-10 使用My.Computer.Ports对象访问计算机COM Port 262
范例8-11 使用My.Computer.Registry对象读取Registry文件 264
范例8-12 使用My.Forms对象动态起始Windows窗体 265
8.8 My.Forms对象 265
8.9 My.Log对象 266
范例8-13 使用My.Log对象读取Log信息 267
8.10 My.Resources对象 268
范例8-14 使用My.Resources对象读取资源文件图片 270
范例8-15 在Web中使用My.Resources对象读取资源文件图片 272
8.11 My.Settings对象 275
范例8-16 使用My.Settings对象访问设置文件 280
8.12 My.User对象 281
范例8-17 使用My.User对象(Web项目) 282
8.13 My.WebServices对象 283
范例8-18 使用My.WebServices对象读取Web Services 285
8.14 My对象内部运作原理揭秘 288
范例8-19 C#直接调用My对象的验证 289
8.15 C#直接调用My对象的奇幻联想 289
8.16 结论 291
第9章 GridView与SqlDataSource控件—应用篇 293
第9章 GridView与SqlDataSource控件——应用篇 293
9.1 GridView功能特色 294
9.2 GridView与SqlDataSource控件架构 295
9.3 GridView与SqlDataSource声明式语法 296
9.4 GridView控件属性 298
9.5 网站数据库的注册与导入 300
范例9-1 ASP.NET网站数据库连接设置 300
范例9-2 VS 2005对SQL Server数据库拖曳的支持 302
9.6 对VS 2005及GridView向导的正确期许 305
9.7 GridView的DataSourceID vs.DataSource属性 306
9.8 数据控件的七种字段类型(Fields Type)的应用 307
范例9-3 使用BoundField数据绑定字段 311
范例9-4 标准数值格式化字符串(Standard Numeric Format Strings)的应用 314
范例9-5 BoundField字段DataFormatString字符串格式化的应用 315
范例9-6 使用ButtonField按钮字段 321
范例9-7 ButtonField按钮字段的格式化 325
范例9-8 使用CommandField命令按钮字段 326
范例9-9 自定义CommandField命令按钮字段 329
范例9-10 使用CheckBoxField复选框字段 331
范例9-11 使用HyperLinkField超链接字段 332
范例9-12 使用HyperLinkField超链接字段(动态程序代码) 335
范例9-13 使用ImageField图像字段 338
范例9-14 GridView动态显示数据库图片 341
范例9-15 创建TemplateField模板字段 345
范例9-16 将Field字段转换成模板 348
9.9 谈GridView的AJAX异步Callback 350
9.10 GridView分页外观设置 351
范例9-17 设置GridView控件的分页 352
9.11 GridView的多个数据表的Table Join查询 354
9.12 GridView结合OnClientClick进行确认操作 355
范例9-18 GridView显示Client端的Confirm对话框 355
9.13 结论 356
第10章 GridView与SqlDataSource控件——动态程序篇 357
第10章 GridView与SqlDataSource控件——动态程序篇 357
10.2 GirdView控件方法与事件 358
10.1 GridView对数据处理与事件模式的改变 358
10.3 GridView的CodeBehind撰写模式 360
10.4 GridViewRow的RowType与RowState属性 362
范例10-1 判断GridViewRow的RowState 363
范例10-2 GridView数据行的光棒效果 367
范例10-3 GridView数据行的光棒效果(JavaScript版) 369
10.5 GridView与多个Table数据表的Join查询 370
范例10-4 GridView显示多个Table Join查询结果 371
10.6 GridView分页与排序功能(Page Sort) 372
范例10-5 GridView分页使用图片按钮并添加分页码显示 373
范例10-6 GridView图片与数字分页按钮并存 374
范例10-7 GridView分页与排序程序技巧 376
范例10-8 GridView选择数据行及动态字段排序 379
10.7 GridView数据行的选择功能(Selection) 379
范例10-9 Master-Details数据明细查询 384
范例10-10 GridView数据行的删除功能 385
10.8 GridView数据行的删除功能(Delete) 385
范例10-11 删除多重字段组成唯一识别键值的数据行 386
10.9 GridView数据行的编辑与更新功能 388
范例10-12 GridView数据行的编辑与更新功能 388
10.10 动态创建TemplateField模板字段的原理 391
范例10-13 用程序动态创建TemplateField模板字段 392
10.11 GridView表头表尾的跨列跨行、多重表头表尾 397
范例10-14 HTML的表格跨列跨行 398
范例10-15 GridView多重表头与表尾的跨列跨行 399
范例10-16 GridView数据列的折行 403
10.12 GridView对背景图片的支持 406
范例10-17 创建GridView表头表尾与数据行的背景图片 407
10.13 GridView数据行的外部更新 408
范例10-18 GridView数据行的外部更新 409
10.14 GridView的数据库交易 411
10.15 结论 412
第11章 新一代数据访问方式Data Source控件 413
第11章 新一代数据访问方式Data Source控件 413
11.1 祭司对Data Source控件的观点 414
11.2 Data Source控件诞生的使命 414
11.4 Data Source控件架构 416
11.3 Data Source数据源控件简介 416
11.5 DataSourceID属性与数据绑定控件 418
11.6 DataSourceMode数据源模式 419
范例11-1 以DataReader作为数据源的绑定 419
11.7 DataSource控件参数类型 420
11.8 六种参数类型的应用 422
范例11-2 使用ControlParameter参数类型 423
范例11-3 使用CookieParameter参数类型 424
范例11-4 使用FormParameter参数类型 425
范例11-5 使用QueryStringParameter参数类型 426
范例11-6 使用SessionParameter参数类型 427
范例11-7 使用一般数值或字符串当参数DefaultValue 428
11.9 参数方向(Parameter Direction) 428
11.10 Data Source控件的数据筛选过滤机制 429
范例11-8 参数方向的设置 429
范例11-9 使用SelectCommand筛选过滤数据 430
范例11-10 使用FilterExpression筛选数据 433
11.11 Data Source控件的缓存 436
11.12 Data Source控件的分页与排序原理解说 437
11.13 Data Source控件数据库事务 438
范例11-11 添加员工基本数据的ADO.NET 1.0数据库事务程序 439
范例11-12 多笔式的ADO.NET 1.0数据库事务 441
范例11-13 SqlDataSource控件的数据库事务 442
范例11-14 连续大量数据添加至数据库的事务 444
11.14 SqlDataSource控件事务机制的诡异之处 446
11.15 SqlDataSource控件对Stored Procedure存储过程的访问 447
范例11-15 创建存储过程 447
范例11-16 以ADO.NET调用存储过程 448
范例11-17 以SqlDataSource程序代码访问存储过程 449
范例11-18 以SqlDataSource向导访问存储过程 450
11.16 ObiectDataSource控件 450
范例11-19 以ObjectDataSource调用商务对象程序 453
范例11-20 ObjectDataSource与DataSet Designer的结合 458
11.17 数据访问冲突检测 462
范例11-21 冲突检测的OverwriteChanges 465
范例11-22 冲突检测的CompareAllValues 467
11.18 数据源控件与ADO.NET之间的抉择时机 470
11.19 结论 472
第12章 DetailsView、FormView与DataList控件介绍 473
第12章 DetailsView、FormView与DataList控件介绍 473
12.1 DetailsView控件 474
范例12-1 创建基本的DetailsView 477
范例12-2 读取DetailsView数据项的字段标题及内容信息 479
范例12-3 DetailsView模式的应用 484
范例12-4 DetailsView的Style模式设置 486
范例12-5 DetailsView外观调整 486
范例12-6 创建DetailsView表头表尾与数据行的背景图片 489
范例12-7 自定义DetailsView模板功能 491
范例12-8 动态显示数据库中Image字段图片 498
12.2 FormView控件 500
范例12-9 访问FormView的数据与模式 502
范例12-10 自定义命令按钮 506
12.3 DataList控件 508
范例12-11 DataList控件的ExtractTemplateRows属性运用 509
范例12-12 显示数据库Image图片 510
范例12-13 DataList字段项的数据访问 511
12.4 结论 513
第13章 ASP.NET 2.0网站导航功能(Web Site Navigation) 515
第13章 ASP.NET 2.0网站导航功能(Web Site Navigation) 515
13.1 ASP.NET 2.0网站导航功能的意义 516
13.2 网站导航控件简介 517
13.3 创建网站导航地图路径 519
范例13-1 创建SiteMap格式的网站导航结构文件 519
范例13-2 创建XML格式的网站导航结构文件 521
13.4 TreeView控件 522
范例13-3 TreeView使用SiteMapDataSource绑定至SiteMap文件 523
范例13-4 TreeView绑定至XML文件 524
范例13-5 使用TreeView节点编辑器创建TreeView控件 526
范例13-6 以TreeNode节点方式创建TreeView控件 528
范例13-7 通过程序与XML文件进行连接以创建TreeView控件 530
范例13-8 检查TreeView被勾选的节点 534
范例13-9 TreeView控件的TreeNode节点折叠与展开事件 535
范例13-10 置换TreeView节点文字 536
13.5 SiteMapPath服务器控件 537
范例13-11 创建基本的SiteMapPath控件 538
范例13-12 SiteMapPath控件的ItemCreated事件应用 542
13.6 Menu服务器控件 543
范例13-13 创建Menu控件菜单菜单 544
范例13-14 静态与动态菜单的应用 545
范例13-15 Menu使用SiteMapDataSource绑定至SiteMap文件 547
范例13-16 Menu绑定至XML文件 547
范例13-17 使用菜单项编辑器(MenuItem Editor)创建 548
范例13-18 以MenuItem项创建Menu控件 548
范例13-19 通过程序与XML文件进行绑定以创建Menu控件 550
范例13-20 Menu控件的MenuItemDataBound事件应用 553
范例13-21 TreeView控件使用多个SiteMap文件定义 554
13.7 通过SiteMapProvider API访问多个SiteMap文件 554
范例13-22 TreeView控件使用多个XML文件定义 558
范例13-23 读取网站导航RootNode根节点信息 559
13.8 SiteMap类API 559
13.9 结论 562
第14章 Master Pages母版页 563
第14章 Master Pages母版页 563
14.1 Master Pages母版页概观 564
范例14-1 创建Master Pages母版页 566
14.2 创建Master Pages母版页 566
14.3 使用Master Pages创建内容页 570
14.4 Master Pages母版页运作原理 573
14.5 嵌套Master Pages(Nested Master Pages) 574
范例14-2 创建嵌套Master Pages母版页 575
范例14-3 在内容页中以程序读取Master Page相关对象 578
14.6 在内容页中以程序读取Master Page相关对象 578
14.7 结论 579
第15章 ASP.NET 2.0网站管理工具与Configuration配置API 581
第15章 ASP.NET 2.0网站管理工具与Configuration配置API 581
15.1 注册ASP.NET网站数据库与设置Provider 582
15.2 ASPNET_REGSQL数据库注册工具 583
15.3 ASP.NET网站管理工具(Web Site Administration Tool) 587
范例15-1 使用ASP.NET网站管理工具 587
范例15-2 创建ASP.NET用户帐号 591
范例15-3 创建Role角色 595
范例15-4 应用程序设置操作 601
范例15-5 另类的网站应用程序脱机秘技 604
范例15-6 独立运行ASP.NET网站管理工具 608
15.4 当没有安装VS 2005时如何使用ASP.NET网站管理工具 608
15.5 ASP.NET MMC Snap-In嵌入式管理单元 609
范例15-7 使用ASP.NET配置设置工具设置SQL Server数据库连接 610
15.6 配置管理API(Configuration API) 612
范例15-9 连续读取<connectionStrings>区块连接字符串 615
范例15-8 读取<connectionStrings>区块连接字符串设置值 615
范例15-10 读取<appSettings>区块应用程序设置值 616
范例15-12 读取<mailSettings>区块SMTP Mail设置 617
范例15-11 连续读取<appSettings>区块应用程序设置值 617
15.7 Web.config配置文件加密 619
范例15-13 应用程序<appSettings>区块的加密 619
范例15-14 数据库连接字符串ConnectionString区块的加密 623
15.8 ASPNET_REGIIS命令的IIS注册与Web.config加密解密 624
范例15-15 使用ASPNET_REGIIS命令进行Web.config的加密解密 625
15.9 结论 627
第16章 ASP.NET网页安全管理的验证与授权 629
第16章 ASP.NET网页安全管理的验证与授权 629
16.1 祭司的话 630
16.2 验证与授权的定义 631
16.3 验证与授权在Windows操作系统上的权力根源 632
16.4 IIS网站目录安全设置 634
范例16-1 Windows验证模式的使用 636
16.5 Windows验证模式 636
16.6 Forms验证模式 638
范例16-2 Forms验证模式的使用 639
16.7 Forms验证模式机制的探讨 642
16.8 结论 644
第17章 ASP.NET 2.0网页安全管理的Login控件 645
第17章 ASP.NET 2.0网页安全管理的Login控件 645
17.1 祭司的话 646
17.2 Login相关控件 647
17.3 检查ASP.NET 2.0网站安全设置相关功能 648
17.4 Login控件 648
范例17-1 使用Login控件 650
范例17-2 自定义Login控件的验证程序 651
范例17-3 自定义Login控件模板 655
17.5 自定义Login控件模板 655
范例17-4 使用LoginName控件 658
17.6 LoginName控件 658
17.7 LoginStatus控件 659
范例17-5 使用LoginStatus控件 660
17.8 LoginView控件 661
范例17-6 自定义LoginView模板 661
范例17-7 自定义RoleGroup模板 662
范例17-8 使用CreateUserWizard控件创建用户帐号 663
17.9 创建用户向导CreateUserWizard控件 663
范例17-9 使用ChangePassword控件 665
17.10 变更密码ChangePassword控件 665
17.11 恢复密码PasswordRecovery控件 666
范例17-10 使用PasswordRecovery控件 666
17.12 结论 668
第18章 ASP.NET 2.0网页安全管理的Membership与Role API 669
第18章 ASP.NET 2.0网页安全管理的Membership与Role API 669
18.1 祭司的话 670
18.2 Membership成员资格 671
范例18-1 用Membership.CreateUser()方法创建用户帐号 677
范例18-2 利用MembershipCreateStatus取得帐号创建成功或失败的消息 679
范例18-3 利用Membership.Validate()方法验证用户身份 680
范例18-4 利用Membership.FindUserByName()及FindUser ByEmail()寻找用户 683
范例18-5 利用Membership.GetAllUsers()读取所有用户资料 685
范例18-6 利用Membership.Update()更新用户资料 687
范例18-7 统计目前在线用户 689
范例18-8 利用Membership.DeleteUser()删除用户帐号 691
范例18-9 读取用户密码 693
范例18-10 利用MembershipUser类改变或重设用户密码 696
范例18-11 利用MembershipUser来改变或重设安全问题及解答 698
范例18-12 利用MembershipUser.UnlockUser()解除被锁定的用户帐号 700
范例18-13 是否允许用户帐号能够被验证 702
18.3 Membership背后运作的秘密 705
18.4 角色管理(Role Management) 707
范例18-14 利用Roles.GetAllRoles()方法取得Roles数据库所有角色群 711
范例18-15 添加与删除角色 714
范例18-16 将一个用户加入一个角色(一对一) 716
范例18-17 将一个用户加入多个角色(一对多) 718
范例18-18 将多个用户加入一个角色(多对一) 721
范例18-19 将多个用户加入多个角色(多对多) 722
范例18-20 将一个用户自一个角色中移除(一对一) 723
范例18-21 将一个用户自多个角色中移除(一对多) 724
范例18-22 将多个用户自一个角色中移除(多对一) 724
范例18-23 将多个用户自多个角色中移除(多对多) 724
范例18-24 使用Roles.GetRolesForUser()方法读取用户角色 725
范例18-25 使用Roles.GetUsersInRole(string rolename)方法读取用户角色 726
范例18-26 判断用户是否属于某个角色 727
18.5 ASP.NET 2.0网页授权(Authorization) 728
范例18-27 创建用户与角色对网页访问的授权 729
18.6 结论 731
第19章 Profile用户设置文件 733
第19章 Profile用户设置文件 733
19.1 Profile用户设置文件应用范围 734
19.2 Profile设置文件对用户资料的存储 735
19.3 定义Profile用户设置文件 736
范例19-1 Profile用户设置文件的初步体验 736
19.4 更新Profile用户设置文件 739
范例19-2 更新Profile用户设置文件 739
19.5 Profile用户设置文件与用户身份验证的关系 742
范例19-3 读取所有用户Profile设置文件(DropDownList) 743
19.6 读取全部用户的Profile设置文件数据 743
范例19-4 读取所有用户Profile设置文件(CheckBoxList) 745
19.7 Profile用户设置文件运作原理 747
19.8 匿名用户Profile(Anonymous Profile) 751
19.9 存储与使用匿名用户Profile设置文件 753
范例19-5 存储与使用匿名用户Profile设置文件 754
19.10 匿名者Profile迁移(Migration) 756
范例19-6 匿名者Profile设置文件的迁移 756
19.11 ProfileModule类 759
范例19-7 Profile设置文件结合Role角色与Profile_Personalize事件 760
19.12 Profile_Personalize事件 760
19.13 ProfileAutoSaving事件 766
范例19-8 利用Profile_ProfileAutoSaving事件动态改变Profile自动存储机制 767
19.14 ProfileManager类 769
范例19-9 以ProfileManager读取Profile的相关属性 770
范例19-10 以ProfileManager.Deleteprofile方法删除单一用户Profile设置文件 771
范例19-11 以ProfileManager.DeleteProfiles方法删除多个用户Profile设置文件 772
范例19-12 删除与查询超过指定日期时间内未登录用户的Profile 775
19.15 以程序读取Web.config文件中的Profile Property属性设置 777
范例19-13 以程序读取Web.config文件中的Profile Property属性设置 777
范例19-14 以程序动态创建Profile设置文件 779
19.16 以程序动态创建Profile设置文件 779
范例19-15 读取匿名身份识别区块属性 782
19.17 以程序读取anonymousIdentification相关属性设置 782
19.18 加密Profile设置文件区块强化安全性 783
19.19 结论 783
第20章 Web Parts Framework 785
第20章 Web Parts Framework 785
20.1 Web部件架构 786
范例20-1 设计第一个Web部件页面 787
20.2 Web部件(Web Parts)概观 794
20.3 细说Web部件控件集合 795
20.4 Web部件的五种显示模式(DisplayMode) 799
范例20-2 设计模式的使用 803
范例20-3 编辑模式的使用 810
范例20-4 Web部件属性设置导出(Export) 815
范例20-5 目录模式下的DeclarativeCatalogPart 820
范例20-6 目录模式下的PageCatalogPart 826
范例20-7 目录模式下的导入Web部件控件 830
范例20-8 连接区域 833
20.5 Web部件的个性化数据的管理 833
范例20-9 使用WebPartManager.Personalization进行个性化数据重设 834
范例20-10 使用PersonalizationAdministration类读取及重设个性化设置 837
20.6 结论 841