第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 定制開發(fā)環(huán)境 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目錄與數據庫的
動態(tài)加載 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目錄與類的動態(tài)編譯以及
多語言使用 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 綁定到業(yè)務邏輯 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 數據綁定控件具體實現細節(jié) 179
2.10.5 自定義CustomerDataSource
數據源控件 188
2.10.6 自定義CustomerDataSourceDesigner
設計器 193
2.11 自定義數據源參數 199
第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和控件屬性
優(yōu)先級 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 處理頁面回發(fā) 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 為什么開發(fā)自定義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章 站點導航系統(tǒng) 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 配置導航系統(tǒng)使用安全裁減 384
6.3.3 使用基于角色的安全裁減 385
6.4 自定義站點地圖provider 388
6.4.1 自定義Provider 389
6.4.2 注冊自定義的Provider 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
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的編譯與執(zhí)行 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 為每個請求創(chuàng)建
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 服務器控件與狀態(tài) 527
9.3.1 服務器控件運行庫 527
9.3.2 控件類 527
9.3.3 控件類和屬性元數據 528
9.3.4 狀態(tài)管理 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 頁狀態(tài) 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 配置節(jié)和節(jié)組 538
9.4.3 添加配置節(jié) 538
9.4.4 集合設置 539
9.4.5 使用位置和路徑 539
9.4.6 鎖定配置設置 540
9.4.7 標準 ASP.NET配置節(jié) 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 對配置節(jié)進行加密 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 創(chuàng)建自定義事件 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 跨頁回發(fā) 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
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
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 增加文件系統(tǒng) 666
11.17 重構CWS的Provider模型 671
11.18 擴展CWS以便使用IIS遠程工具 673
第12章 Classfieds Web Site Starter Kit
——產品交易系統(tǒng) 675
12.1 Classfieds Web Site Starter Kit介紹 675
12.2 用戶注冊頁——Register.aspx 681
12.3 登錄頁——Login.aspx 685
12.4 發(fā)布廣告頁——PostAd.aspx 686
12.5 查看發(fā)布的信息頁
——MyAds.aspx 692
12.6 進入管理員頁 696
12.7 搜索頁 700
12.8 數據處理要點 706
第13章 TimeTracker Starter Kit
——時間跟蹤 711
13.1 簡介 711
13.2 創(chuàng)建應用程序角色 713
13.3 創(chuàng)建用戶 714
13.4 更改注冊詳細信息 715
13.5 母版頁——MasterPage.master 716
13.6 創(chuàng)建項目——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
A.1 構建Web框架 729
A.2 添加DAL_BLL層 730
A.3 構建Web站點 733
A.4 部署與優(yōu)化 735
附錄B Web Site與Web Project 736
B.1 Web Project 736
B.2 Web Site的局限性 737