下面是《ASP.NET2.0技术详解与应用实例》目录,相应源代码请到
http://www.cnblogs.com/mqingqing123/archive/2006/08/17/479623.html
下载
有问题请到 http://bbs.aspcool.com 提出
目 录
第1章 ASP.NET 2.0 安装、使用与新特性说明. 1
1.1 ASP.NET 2.0的安装与基本使用... 1
1.1.1 下载、安装.NET Framework 2.0. 1
1.1.2 Visual Stduio.NET 2005的安装... 2
1.1.3 Microsoft SQL Server 2005
Express Edition的下载和安装... 4
1.1.4 建立第一个应用程序MyFirstPage
及VS.NET 2005的介绍... 6
1.1.5 定制开发环境... 6
1.1.6 添加一个新的页面... 8
1.1.7 建立页面和代码分离文件... 12
1.1.8 使用内置的Web服务器
(built-in Web Servers)... 12
1.2 SQL Server 2005数据库的基本使用... 13
1.2.1 启动SQL Server 2005服务... 13
1.2.2 建立数据库... 14
1.2.3 使用ASP.NET 2.0读取数据库... 16
1.2.4 App_Data目录与数据库的
动态加载... 17
1.2.5 数据库连接字符串的
快速配置与读取... 19
1.3 C# 2.0语法新特性简介... 21
1.3.1 泛型... 21
1.3.2 匿名方法... 25
1.3.3 迭代器... 26
1.3.4 不完全类型... 29
1.4 IIS、应用程序和ASP.NET 2.0. 30
1.4.1 IIS快速浏览... 30
1.4.2 ASP.NET 2.0和应用程序... 31
1.4.3 使用Visual Studio.NET 2005
新建和打开Web项目... 33
1.4.4 利用VS.NET 2005和IIS
管理Web项目的基本准则... 35
1.4.5 IIS和ASP.NET 2.0版本问题... 36
1.4.6 在VS.NET 2005内置的Web服务器
和IIS之间切换... 37
1.5 ASP.NET 2.0代码组织与应用程序
编译方式... 37
1.5.1 内置代码与隐藏文件... 37
1.5.2 ASP.NET 2.0提供的解决方案... 40
1.5.3 页面的编译... 42
1.5.4 Inherits属性... 46
1.5.5 页面部署的实现... 47
1.6 App_Code目录与类的动态编译以及
多语言使用... 52
1.6.1 App_Code目录... 52
1.6.2 Bin目录与全局程序集缓存... 54
1.6.3 在App_Code里使用多种语言... 54
第2章 数据访问. 58
2.1 数据源控件概述... 58
2.1.1 DataSource数据源控件总体概述... 58
2.1.2 数据源控件类型概述... 58
2.2 SqlDataSource控件... 59
2.2.1 SqlDataSource的基本使用... 59
2.2.2 使用存储过程... 65
2.2.3 返回值DataReader/DataSet的选择... 67
2.2.4 数据编辑... 67
2.2.5 数据筛选... 71
2.2.6 SqlDataSource参数来源... 73
2.2.7 默认参数的选择与更改... 76
2.2.8 数据缓存... 79
2.2.9 SqlDataSource事件... 81
2.2.10 利用VS.NET 2005的可视化
支持... 83
2.3 ObjectDataSource控件... 83
2.3.1 SqlDataSource和ObjectDataSource
控件的比较... 83
2.3.2 ObjectDataSource的概述... 84
2.3.3 绑定到数据访问层... 85
2.3.4 绑定到业务逻辑... 89
2.3.5 DataKeyNames和
OldValuesParameterFormatString. 91
2.3.6 冲突检测ConflictDetection. 96
2.3.7 数据分页排序... 101
2.3.8 ObjectDataSource事件与
设计器的支持... 107
2.4 AccessDataSource 控件... 108
2.5 数据集与数据适配器... 108
2.5.1 强类型化数据集简介... 108
2.5.2 建立数据集与数据适配器... 109
2.5.3 为数据适配器增加参数... 117
2.5.4 返回聚合值... 119
2.5.5 进一步理解数据集和
数据适配器... 120
2.5.6 模式的编译... 122
2.5.7 自动生成类文件... 128
2.5.8 DataMember 128
2.6 工厂模式与在ADO.NET 2.0里的
实际应用... 129
2.6.1 简单工厂模式... 129
2.6.2 抽象工厂模式... 131
2.6.3 工厂模式在ADO.NET 2.0中的
实际应用... 135
2.7 GridView控件... 138
2.7.1 ImageField. 138
2.7.2 CheckBoxField列... 142
2.7.3 模板列... 143
2.7.4 按钮列... 147
2.7.5 选择分页与排序... 151
2.7.6 格式化数据... 157
2.7.7 GridView事件... 160
2.8 DetailsView控件... 166
2.8.1 DetailsView控件概述... 166
2.8.2 数据分页... 168
2.8.3 数据编辑... 170
2.9 FormView控件... 173
2.10 数据源控件与数据绑定控件的
进一步简单讨论... 176
2.10.1 ASP.NET 2.0为什么提供
新的数据源模型... 176
2.10.2 ASP.NET 2.0 中的
数据绑定控件... 176
2.10.3 数据绑定机制概述... 177
2.10.4 数据绑定控件具体实现细节... 179
2.10.5 自定义CustomerDataSource
数据源控件... 188
2.10.6 自定义CustomerDataSourceDesigner
设计器... 193
2.11 自定义数据源参数... 199
(在本书里提供了一个自定义数据源控件CustomerObjectDataSource,这是参考国外一个人博客写成,
,那一块内容相当复杂,希望读者在阅读时,多多参考MSDN。在提供的源代码里提供了http://www.nikhilk.net/写的另外一个自定义数据源控件。)
第3章 样式、主题和外观. 201
3.1 CSS技术... 201
3.1.1 什么是CSS. 201
3.1.2 进一步了解CSS样式单... 201
3.1.3 样式单的嵌套使用... 204
3.1.4 样式中属性值的单位... 205
3.1.5 绝对路径和相对路径... 206
3.1.6 CSS属性... 209
3.1.7 CSS中的滤镜... 223
3.2 向HTML控件应用样式... 226
3.2.2 Style属性... 228
3.3 向Web服务器控件应用样式... 229
3.4 使用主题定义页面样式... 233
3.4.1 建立一个主题... 233
3.4.2 全局主题和应用程序主题... 235
3.4.3 为页指定主题... 235
3.4.4 在web.config里指定主题... 236
3.4.5 对控件禁用主题... 236
3.4.6 默认外观与命名外观... 236
3.5 主题和外观的内容... 237
3.6 使用主题的服务器端样式... 242
3.2.2 声明服务器端样式... 242
3.7 Theme,StyleSheetTheme和控件属性
优先级... 243
3.8 Visual Web Developer 支持... 243
3.9 主题和配置文件... 244
第4章 母版. 246
4.1 母版页的概述... 246
4.1.1 母版页... 246
4.1.2 替换占位符基本机制... 252
4.1.3 母版页中的URL重置... 255
4.1.4 母版页和配置... 256
4.2 通过程序访问母版... 256
4.2.1 母版和内容页的运行级别机制... 256
4.2.2 处理PreInit事件... 258
4.3 与母版交互... 260
4.3.1 使用FindControl查找控件... 260
4.3.2 使用MasterType指令... 262
4.4 深入母版页和内容页交互... 264
4.4.1 处理母版控件里的事件... 264
4.4.2 处理页面回发... 266
4.4.3 母版页面事件顺序... 267
4.5 Headers,Scripts和Meta Tags元素... 268
4.6 访问Page指令... 270
4.7 在母版里使用FindControl 271
4.8 名称重写... 274
4.9 母版与主题... 275
4.10 嵌套母版... 275
第5章 成员角色与登录控件. 278
5.1 身份验证... 278
5.1.1 身份验证回顾... 278
5.1.2 ASP.NET 2.0的成员角色
管理概述... 279
5.1.3 登录控件概述... 280
5.2 典型应用程序身份验证和授权设计... 280
5.3 成员关系提供模型... 296
5.3.1 ASPNETDB.MDF数据库... 296
5.3.2 自定义SqlmembershipProvider 296
5.3.3 成员关系类... 298
5.4 角色提供模型... 303
5.4.1 角色管理模型... 303
5.4.2 管理角色... 305
5.4.3 基于角色的授权... 305
5.4.4 角色管理类... 307
5.5 综合使用成员角色关系... 311
5.6 成员角色数据库ASPNETDB.MDF的
探讨... 312
5.6.1 应用成员/角色模式到已有的
数据库... 313
5.6.2 使用现有SQL Server 2000数据库
存放成员/角色关系... 314
5.6.3 成员/角色关系对应的SQL脚本... 315
5.6.4 asp_regsql.exe命令... 317
5.6.5 始终设置成员,角色关系里的
applicationName属性... 318
5.7 使用IIS进行ASP.NET 2.0成员/角色
管理... 320
5.7.1 使用 IIS 进行ASP.NET 2.0 成员/角色
管理的原因... 320
5.7.2 采用的技术... 320
5.7.3 应用程序和项目... 321
5.8 自定义Provider角色模型... 337
5.8.1 Provider模型整体概述... 337
5.8.2 membership Provider的基础... 338
5.8.3 为什么开发自定义Membership
和Role的Provider 338
5.9 扩展登录控件... 347
5.9.1 可自定义的登录控件... 347
5.9.2 登录错误更多提示信息
与写入日志... 349
5.9.3 使用带有验证码的注册页面... 353
5.10 ASP.NET 2.0 Provider介绍... 356
5.10.1 Provider概述... 356
5.10.2 Provider模型... 357
5.10.3 ProviderBase类... 358
5.10.4 Provider的注册与配置... 360
5.10.5 自定义Provider的注意事项... 361
5.11 自定义Provider模型
之Membership Providers. 362
5.11.1 MembershipProvider类... 362
5.11.2 Membership数据应用范围... 363
5.11.3 ReadOnlyXmlMembership-
Provider 364
5.12 自定义Provider之Role Provider 369
5.12.1 RoleProvider类... 369
5.12.2 ReadOnlyXmlRoleProvider 369
5.13 登录控件与成员API函数... 374
5.13.1 使用默认的向导控件功能... 374
5.13.2 使用默认ID.. 374
5.13.3 自定义ID.. 374
第6章 站点导航系统. 376
6.1 站点导航的实现... 376
6.1.1 站点导航回顾... 376
6.1.2 定义站点地图... 377
6.1.3 使用导航控件显示导航... 379
6.2 SiteMap编程... 381
6.2.1 SiteMap类简介... 381
6.2.2 SiteMap的基本使用... 381
6.3 基于角色的导航... 383
6.3.1 配置ASP.NET 2.0的成员
和角色关系... 383
6.3.2 配置导航系统使用安全裁减... 384
6.3.3 使用基于角色的安全裁减... 385
6.4 自定义站点地图provider 388
6.4.1 自定义Provider 389
6.4.2 注册自定义的Prouider 393
6.5 扩展Provider提供模型... 393
6.5.1 为什么需要扩展Provider模型... 393
6.5.2 建立扩展的Provider类... 394
6.5.3 配置web.config. 398
6.6 修改提供程序返回的站点导航数据... 399
6.7 SitemapPath控件... 402
6.7.1 SiteMapPath控件概述... 402
6.7.2 SitemapPath的使用... 403
6.7.3 SiteMapPath控件常见属性
的意义... 404
6.8 Menu控件... 406
6.8.1 Menu控件概述... 406
6.8.2 Menu控件的基本使用... 407
6.8.3 使用Menu控件的外观... 408
6.8.4 事件... 413
6.9 TreeView控件... 413
6.9.1 TreeView控件概述... 413
6.9.2 TreeView控件的基本使用... 414
6.9.3 使用样式... 415
6.9.4 利用数据库存放TreeView数据... 431
6.10 MultiView和View Web服务器
控件概述... 433
6.11 Wizard 控件... 436
6.11.1 Wizard的组成... 436
6.11.2 向导提交模型... 438
6.11.3 向导控件的综合使用... 447
6.12 自定义Provider之SiteMap Provider 455
6.12.1 自定义SiteMap Provider要点... 455
6.12.2 自定义SqlSiteMapProvider 457
第7章 使用Web部件进行个性化设置. 461
(本章应该说参考了不少MSDN,当时我写这些内容时,感觉可以参考的内容太少,另外Web部件似乎归类到ASP.NET AJAX似乎更合适,不知道微软为什么在ASP.NET2.0里介绍web部件,因为它用的思想应该算是AJAX,事实上,AJAX就提供了WebParts)
7.1 个性化设置... 461
7.1.1 WebPart控件... 461
7.1.2 Web部件控件集概述... 462
7.2 WebPart的使用... 463
7.2.1 使用WebPartManager控件
管理Web部件... 463
7.2.2 使用WebPartZones存放
Web部件数据... 463
7.2.3 使用用户控件... 465
7.2.4 测试运行效果... 465
7.2.5 更改模式... 467
7.2.6 启用更改布局的功能... 469
7.3 EditorZone与EditorPart控件... 470
7.3.1 AppearanceEditorPart控件... 472
7.3.2 LayoutEditorPart 控件... 472
7.3.3 PropertyGridEditorPart控件... 472
7.3.4 BehaviorEditorPart控件... 476
7.3.5 自定义EditorWebPart 478
7.3.6 自定义谓词和编辑器... 479
7.4 Web部件之间的通信... 481
7.5 自定义WebPart Provider
之Web Parts Personalization Providers. 486
7.5.1 自定义Web Parts Personalization
概述... 486
7.5.2 TextFilePersonalizationProvider 488
第8章 存储用户配置文档. 491
8.1 用户配置文件概述... 491
8.1.1 配置文件的必要性
以及ASP.NET 2.0的新特性... 491
8.1.2 定义配置文件架构... 491
8.1.3 匿名配置文件... 492
8.1.4 经过身份验证的配置文件... 493
8.1.5 将匿名配置文件迁移到经过身份验证
的配置文件... 496
8.1.6 用自定义基类定义配置文件属性... 498
8.1.7 控制配置文件的自定义保存行为... 498
8.1.8 删除配置文件... 500
8.2 进一步理解Profile的功能... 501
8.2.1 一个简单Profile的定义和使用... 501
8.2.2 Profile Provider模型... 502
8.2.3 用户惟一标识
(Unidentified User)... 503
8.2.4 Profile的编译与执行... 504
8.2.5 Profile的配置... 505
8.2.6 序列化... 506
8.2.7 Profile的继承... 508
8.2.8 Profile_MigrateAnonymous事件... 509
8.2.9 ProfileManager类... 509
8.3 CustomerProvider之Profile Provider 510
8.3.1 ProfileProvider
和SettingsProvider类... 510
8.3.2 Profile Data数据应用... 511
8.3.3 GetPropertyValues. 511
8.3.4 SetPropertyValues. 513
8.3.5 TextFileprofileProvider 513
8.3.6 使用TextFileProfileProvider 520
第9章 ASP.NET 2.0应用程序的应用与扩展. 521
9.1 页框架... 521
9.1.1 页框架生命周期... 521
9.1.2 生命周期事件... 522
9.1.3 其他的页生命周期注意事项... 522
9.2 ASP.NET应用程序... 523
9.2.1 用户从Web服务器请求
应用程序资源... 523
9.2.2 ASP.NET接收对应用程序的
第一个请求... 523
9.2.3 为每个请求创建
ASP.NET核心对象... 524
9.2.4 将HttpApplication对象
分配给请求... 524
9.2.5 由HttpApplication
管理处理请求... 524
9.2.6 生命周期事件
和Global.asax文件... 525
9.2.7 编译生命周期... 526
9.2.8 HTTP模块... 527
9.3 服务器控件与状态... 527
9.3.1 服务器控件运行库... 527
9.3.2 控件类... 527
9.3.3 控件类和属性元数据... 528
9.3.4 状态管理... 528
9.3.5 控件和页适配器:处理设备、浏览器
或标记的行为... 528
9.3.6 数据源和数据绑定控件... 529
9.3.7 Web资源... 530
9.3.8 客户端脚本管理... 531
9.3.9 设备筛选(设备标记或浏览器)... 531
9.3.10 回调... 531
9.3.11 页状态... 532
9.3.12 服务器控件设计时... 532
9.3.13 应用程序服务提供程序... 533
9.3.14 本地化... 534
9.3.15 编译和预编译... 535
9.3.16 生成提供程序... 535
9.3.17 虚拟路径提供程序... 536
9.4 配置文件的使用与检索... 537
9.4.1 配置文件格式... 537
9.4.2 配置节和节组... 538
9.4.3 添加配置节... 538
9.4.4 集合设置... 539
9.4.5 使用位置和路径... 539
9.4.6 锁定配置设置... 540
9.4.7 标准 ASP.NET配置节... 540
9.4.8 检索配置... 541
9.4.9 使用应用程序设置... 541
9.4.10 使用连接字符串... 542
9.5 使用管理工具... 543
9.5.1 ASP.NET MMC管理单元... 543
9.5.2 Web应用程序管理工具... 544
9.5.3 ASPNET_REGSQL工具... 545
9.5.4 ASPNET_REGIIS工具... 545
9.6 使用管理API 545
9.6.1 检查配置设置... 546
9.6.2 更新配置设置... 548
9.6.3 对配置节进行加密... 549
9.7 配置进程模型... 551
9.7.1 进程模型配置... 551
9.7.2 被动进程回收... 552
9.7.3 主动进程回收... 552
9.7.4 记录进程模型事件... 552
9.8 对缓存的改进... 553
9.8.1 基于轮询的失效... 553
9.8.2 SQL Server 2005基于通知的
缓存失效... 554
9.9 Web事件... 554
9.9.1 事件和事件提供程序... 555
9.9.2 配置事件... 556
9.9.3 创建自定义事件... 556
9.9.4 检测应用程序... 557
9.9.5 事件限流... 557
9.10 编码与本地化... 557
9.10.1 编码... 557
9.10.2 本地化... 558
9.11 URL映射... 558
9.12 ASP.NET的提示与技巧... 560
9.12.1 跨页回发... 560
9.12.2 验证组... 561
9.12.3 焦点API和DefaultButton. 562
9.12.4 编译生成提供程序... 564
9.12.5 不编译页... 564
9.12.6 确保非ASP.NET文件的安全... 565
9.12.7 客户端脚本功能... 566
9.13 自定义Provider之Session Provider 569
9.13.1 自定义Session Provider概述... 569
9.13.2 自定义
TextFileSessionStateProvider 571
9.14 自定义WebEvent Provider 577
9.14.1 自定义WebEvent Provider概述... 577
9.14.2 自定义
TextFileWebEventProvider 578
第10章 Personal Web Site Starter Kit
——个人站点. 581
PWS似乎地球人都会,却是很简单 :)
10.1 Personal Web Site的安装... 581
10.2 建立成员与角色... 582
10.2.1 角色的管理... 582
10.2.2 建立管理员账户... 582
10.3 相册管理... 583
10.3.1 相册页——Albums.aspx. 583
10.3.2 照片集页——Photos.aspx. 586
10.3.3 照片的详细页——Details.aspx. 588
10.4 母版页——Default.master 591
10.5 主题与服务器端样式... 592
10.6 外观文件——Default.skin. 593
10.7 简历页——Resume.aspx. 594
10.8 链接收藏页——Links.aspx. 594
10.9 数据库设计... 594
10.10 App_Code目录... 596
10.11 使用HttpHandler处理照片... 598
10.12 管理相册... 600
10.13 用户注册... 602
10.14 扩展Personal Web Site Starter Kit 602
10.14.1 扩展管理员页... 602
10.14.2 添加Manage.aspx页... 604
10.14.3 添加Users.aspx页... 605
10.14.4 建立Content.aspx页... 607
10.15 Personal Web Site总结... 614
第11章 Club Web Site Starter Kit
——俱乐部站点. 615
这一章,扩展CWS,添加了许多内容
11.1 Club Web Site Starter Kit的
安装和配置... 615
10.14.4 建立管理员账户... 616
11.2 母版页——default.master 617
11.3 注册页——member_register.aspx. 619
11.4 用户详细页
——Member_Details.aspx. 623
11.5 查看用户列表页
——member_list.aspx. 626
11.6 添加相册... 629
11.7 照片列表页
——PhotoAlbum_List.ospx. 631
11.8 相册内容页
——PhotoAlbum_Contents.aspx. 637
11.9 日历事件页
——Events_Calendar.aspx. 641
11.10 事件的编辑、添加和删除... 643
11.11 新闻模块... 647
11.12 首页default.aspx. 648
11.13 链接和联系页... 651
11.14 CWS中主要技术的实现... 651
11.14.1 日期和时间控件... 651
11.14.2 RolloverButtons.cs文件... 657
11.14.3 SharedRoutines.cs
和MemberDetails.cs文件... 658
11.15 数据库处理... 659
11.15.1 数据库和数据适配器... 659
11.15.2 Club Web Site语言Bug修复... 659
11.16 扩展Club Web Site Starter Kit 663
11.16.1 使用SQL Server 2000数据库... 663
11.16.2 增加文件系统... 666
11.17 重构CWS的Provider模型... 671
11.18 扩展CWS以便使用IIS远程工具... 673
(因为VS.NET提供的成员-角色管理只对本地有效,所以提供了基于IIS远程管理工具)
第12章 Classfieds Web Site Starter Kit
——产品交易系统. 675
12.1 Classfieds Web Site Starter Kit介绍... 675
12.2 用户注册页——Register.aspx. 681
12.3 登录页——Login.aspx. 685
12.4 发布广告页——PostAd.aspx. 686
12.5 查看发布的信息页
——MyAds.aspx. 692
12.6 进入管理员页... 696
12.7 搜索页... 700
12.8 数据处理要点... 706
第13章 TimeTracker Starter Kit——时间跟踪. 711
13.1 简介... 711
13.2 创建应用程序角色... 713
13.3 创建用户... 714
13.4 更改注册详细信息... 715
13.5 母版页——MasterPage.master 716
13.6 创建项目——Project_Details.aspx. 717
13.7 列出项目页——Project_List.aspx. 719
13.8 输入时间页——TimeEntry.aspx. 720
13.9 查看项目报告页
——Report_Project.aspx. 721
13.10 查看项目资源详细信息页
——Report_Resources.aspx. 721
13.11 Time Trackr数据处理要点... 722
附录A 构建多项目解决方案. 729
(这里其实应该算是对TIME TRACKER的扩展)
A.1 构建Web框架... 729
A.2 添加DAL_BLL层... 730
A.3 构建Web站点... 733
A.4 部署与优化... 735
附录B Web Site与Web Project 736
好像有些人感觉不到WEBSITE 和Web Project的区别,如果你用过VS.NET2003就会感觉,将ASP.NET1.1转换维ASP.NET2.0原来很容易的:
例如http://www.cnblogs.com/mqingqing123/archive/2006/09/09/499391.html
这里就就发现Web Project是很重要的。 不过VS.NET2005默认不安装Web Project,本书配套光盘附带了该安装程序
)
B.1 Web Project 736
B.2 Web Site的局限性... 737
(Web Site的局限性有时候确实害死人,)