第1章 應用程序和頁麵框架 1
1.1 應用程序的位置選項 1
1.1.1 內置的Web服務器 1
1.1.2 IIS 3
1.1.3 FTP 3
1.1.4 Web站點需要FrontPage Extensions 4
1.2 ASP.NET頁麵結構選項 4
1.2.1 內聯編碼 6
1.2.2 隱藏代碼模型 8
1.3 ASP.NET 3.5的Page指令 10
1.3.1 @Page指令 11
1.3.2 @Master指令 13
1.3.3 @Control指令 14
1.3.4 @Import指令 15
1.3.5 @Implements指令 16
1.3.6 @Register指令 17
1.3.7 @Assembly指令 17
1.3.8 @PreviousPageType指令 17
1.3.9 @MasterType指令 18
1.3.10 @OutputCache指令 18
1.3.11 @Reference指令 18
1.4 ASP.NET頁麵的事件 19
1.5 處理迴送 20
1.6 跨頁麵的傳送 21
1.7 ASP.NET應用程序文件夾 27
1.7.1 App_Code文件夾 27
1.7.2 App_Data文件夾 31
1.7.3 App_Themes文件夾 32
1.7.4 App_GlobalResources文件夾 32
1.7.5 App_LocalResources文件夾 32
1.7.6 App_WebReferences文件夾 32
1.7.7 App_Browsers文件夾 32
1.8 編譯 33
1.9 Build Provider 36
1.9.1 使用內置的Build Provider 37
1.9.2 使用自己的Build Provider 37
1.10 Global.asax 42
1.11 通過Visual Studio 2008使用類 46
1.12 小結 50
第2章 ASP.NET服務器控件和客戶端腳本 51
2.1 ASP.NET服務器控件 51
2.1.1 服務器控件的類型 52
2.1.2 用服務器控件構建頁麵 53
2.1.3 處理服務器控件的事件 54
2.2 給服務器控件應用樣式 57
2.2.1 控件的常見屬性 57
2.2.2 使用層疊樣式錶改變樣式 58
2.3 HTML服務器控件 61
2.3.1 HtmlControl基類 63
2.3.2 HtmlContainerControl類 64
2.3.3 所有的HTML類 64
2.3.4 使用HtmlGenericControl類 65
2.4 通過JavaScript處理頁麵和服務器控件 66
2.4.1 使用Page.ClientScript.Register ClientScriptBlock 67
2.4.2 使用Page.ClientScript. RegisterStartupScript 69
2.4.3 使用Page.ClientScript.RegisterClientScriptInclude 71
2.5 客戶端迴調 71
2.5.1 比較典型的迴送和迴調 71
2.5.2 使用迴調功能:一種簡單的方法 73
2.5.3 使用帶一個參數的迴調功能 77
2.5.4 使用迴調功能:一個復雜的例子 80
2.6 小結 86
第3章 ASP.NET Web服務器控件 87
3.1 Web服務器控件概述 87
3.2 Label服務器控件 88
3.3 Literal服務器控件 90
3.4 TextBox服務器控件 90
3.4.1 使用Focus()方法 91
3.4.2 使用AutoPostBack 92
3.4.3 使用AutoCompleteType 93
3.5 Button服務器控件 94
3.5.1 CausesValidation屬性 94
3.5.2 CommandName屬性 95
3.5.3 使用客戶端JavaScript的按鈕 96
3.6 LinkButton服務器控件 97
3.7 ImageButton服務器控件 98
3.8 HyperLink服務器控件 99
3.9 DropDownList服務器控件 100
3.10 從集閤中可視化地刪除數據項 102
3.11 ListBox服務器控件 104
3.11.1 允許用戶選擇多項 104
3.11.2 使用ListBox控件的例子 105
3.11.3 給集閤添加項 107
3.12 CheckBox服務器控件 107
3.12.1 如何確定復選框是否被選中 108
3.12.2 給復選框賦值 109
3.12.3 排列復選框的文本 109
3.13 CheckBoxList服務器控件 109
3.14 RadioButton服務器控件 112
3.15 RadioButtonList服務器控件 114
3.16 Image服務器控件 115
3.17 Table服務器控件 116
3.18 Calendar服務器控件 119
3.18.1 從Calendar控件中選擇一個日期 119
3.18.2 從Calendar控件中選擇要輸齣的日期格式 120
3.18.3 選擇日期、星期或月份 121
3.18.4 使用日期範圍 121
3.18.5 修改日曆的樣式和操作方式 123
3.19 AdRotator服務器控件 126
3.20 Xml服務器控件 127
3.21 Panel服務器控件 128
3.22 PlaceHolder服務器控件 130
3.23 BulletedList服務器控件 131
3.24 HiddenField服務器控件 135
3.25 FileUpload服務器控件 137
3.25.1 使用FileUpload控件上傳文件 137
3.25.2 給上傳文件指定正確的ASP.NET權限 140
3.25.3 理解文件大小的限製 141
3.25.4 從同一個頁麵上傳多個文件 142
3.25.5 把上傳的文件放在Stream對象中 145
3.25.6 把文件內容從Stream對象移動到Byte數組中 145
3.26 MultiView和View服務器控件 146
3.27 Wizard服務器控件 149
3.27.1 定製邊欄導航 151
3.27.2 AllowReturn屬性 151
3.27.3 使用StepType屬性 151
3.27.4 給Wizard控件添加標題 152
3.27.5 使用嚮導的導航係統 153
3.27.6 使用Wizard控件的事件 153
3.27.7 使用Wizard控件顯示窗體元素 155
3.28 ImageMap服務器控件 159
3.29 小結 161
第4章 驗證服務器控件 162
4.1 有效性驗證 162
4.2 客戶端和服務器端的驗證 163
4.3 ASP.NET驗證服務器控件 163
4.3.1 驗證原因 165
4.3.2 RequiredFieldValidator服務器控件 165
4.3.3 CompareValidator服務器控件 170
4.3.4 RangeValidator服務器控件 172
4.3.5 RegularExpressionValidator服務器控件 176
4.3.6 CustomValidator服務器控件 177
4.3.7 ValidationSummary服務器控件 182
4.4 關閉客戶端驗證功能 184
4.5 為錯誤通知使用圖像和聲音 185
4.6 使用驗證組 186
4.7 小結 190
第5章 使用Master頁麵 191
5.1 需要Master頁麵的原因 191
5.2 Master頁麵基礎 193
5.3 編寫Master頁麵 194
5.4 編寫內容頁麵 197
5.4.1 混閤頁麵類型和語言 200
5.4.2 指定要使用的Master頁麵 201
5.4.3 使用頁麵標題 202
5.4.4 使用Master頁麵中的控件和屬性 203
5.5 在Master頁麵中指定默認內容 210
5.6 以編程方式將Master頁麵賦予內容頁麵 212
5.7 Master頁麵的嵌套 212
5.8 容器特定的Master頁麵 216
5.9 事件的觸發順序 217
5.10 高速緩存Master頁麵 217
5.11 ASP.NET AJAX和Master頁麵 218
5.12 小結 220
第6章 主題和Skin 221
6.1 使用ASP.NET中的主題 221
6.1.1 給單個ASP.NET頁麵應用主題 221
6.1.2 把主題應用於整個應用程序 223
6.1.3 刪除服務器控件中的主題 223
6.1.4 刪除Web頁麵上的主題 224
6.1.5 使用Master頁麵時理解主題 224
6.1.6 StyleSheetTheme屬性 225
6.2 創建自己的主題 225
6.2.1 創建正確的文件夾結構 225
6.2.2 創建Skin 226
6.2.3 在主題中包含CSS文件 228
6.2.4 使主題包含圖像 231
6.3 定義多個Skin選項 233
6.4 編程使用主題 235
6.4.1 編程指定頁麵的主題 235
6.4.2 編程指定控件的SkinID 236
6.5 主題、Skin和定製控件 236
6.6 小結 240
第7章 ASP.NET 3.5中的數據綁定 241
7.1 數據源控件 241
7.1.1 SqlDataSource控件 243
7.1.2 LINQ數據源控件 253
7.1.3 AccessDataSource控件 257
7.1.4 XmlDataSource控件 258
7.1.5 ObjectDataSource控件 259
7.1.6 SiteMapDataSource控件 263
7.2 配置數據源控件的高速緩存 264
7.3 存儲連接信息 264
7.4 組閤使用綁定的列錶控件和數據源控件 267
7.4.1 GridView控件 267
7.4.2 編輯GridView中的數據行 281
7.4.3 刪除GridView數據 287
7.4.4 DetailsView控件 289
7.4.5 使用DetailsView插入、更新和刪除數據 294
7.4.6 ListView控件 296
7.4.7 FormView控件 303
7.5 其他數據綁定控件 307
7.5.1 DropDownList、ListBox、RadioButtonList和CheckBoxList 307
7.5.2 TreeView控件 307
7.5.3 Ad Rotator控件 308
7.5.4 Menu 308
7.6 內聯數據綁定語法 309
7.6.1 DataBinder語法的變化 310
7.6.2 XML數據綁定 310
7.7 錶達式和錶達式構建器 311
7.8 小結 316
第8章 使用ADO.NET管理數據 317
8.1 ADO.NET的基本功能 317
8.1.1 常見的ADO.NET任務 318
8.1.2 ADO.NET的基本名稱空間和類 322
8.1.3 使用Connection對象 323
8.1.4 使用Command對象 325
8.1.5 使用DataReader對象 326
8.1.6 使用數據適配器 328
8.1.7 使用參數 331
8.1.8 DataSet和DataTable 333
8.1.9 將Oracle用作ASP.NET 3.5的數據庫 338
8.2 DataList服務器控件 340
8.2.1 可用的模闆 340
8.2.2 使用ItemTemplate 341
8.2.3 使用其他布局模闆 343
8.2.4 使用多個列 346
8.3 ListView服務器控件 347
8.3.1 可用的模闆 347
8.3.2 使用模闆 347
8.3.3 創建布局模闆 349
8.3.4 創建ItemTemplate 350
8.3.5 創建EditItemTemplate 351
8.3.6 創建EmptyItemTemplate 352
8.3.7 創建InsertItemTemplate 352
8.3.8 結果 353
8.4 將Visual Studio用於ADO.NET任務 354
8.4.1 建立與數據源的連接 354
8.4.2 使用DataSet設計器 356
8.4.3 使用DataSet對象CustomerOrders 360
8.5 命令的異步執行 364
8.5.1 SqlCommand類的異步方法 364
8.5.2 IAsyncResult接口 365
8.5.3 AsyncCallback 365
8.5.4 WaitHandle類 365
8.5.5 ADO.NET中異步處理的方式 366
8.5.6 取消異步處理 384
8.5.7 異步連接 384
8.6 小結 384
第9章 使用LINQ查詢 385
9.1 LINQ to Objects 385
9.1.1 傳統的查詢方法 385
9.1.2 用LINQ替代傳統的查詢 394
9.1.3 數據分組 401
9.1.4 其他LINQ運算符 402
9.1.5 LINQ連接 403
9.1.6 使用LINQ分頁 404
9.2 LINQ to XML 405
9.3 LINQ to SQL 410
9.3.1 通過LINQ插入、更新和刪除查詢 417
9.3.2 擴展LINQ 421
9.4 小結 422
第10章 使用XML和LINQ to XML 423
10.1 XML的基礎 424
10.1.1 XML InfoSet 426
10.1.2 XSD/XML模式定義 426
10.1.3 在Visual Studio 2008中編輯XML和XML模式 428
10.2 XmlReader和XmlWriter 430
10.2.1 使用XDocument替代XmlReader 433
10.2.2 使用模式和XmlTextReader 434
10.2.3 使用XDocument根據模式來驗證 436
10.2.4 包含NameTable優化 437
10.2.5 從XML中提取.NET CLR類型 439
10.2.6 ReadSubtree和XmlSerialization 441
10.2.7 通過LINQ to XML從XML中創建CLR對象 443
10.2.8 用XmlWriter創建XML 444
10.2.9 用LINQ for XML創建XML 446
10.2.10 2.0版本中XmlReader和XmlWriter的改進 449
10.3 XmlDocument和XPathDocument 449
10.3.1 DOM存在的問題 449
10.3.2 XPath、XPathDocument和XmlDocument 450
10.4 DataSet 454
10.4.1 將DataSet保存到XML中 454
10.4.2 XmlDataDocument 455
10.5 XmlDataSource控件 457
10.6 XSLT 461
10.6.1 XslCompiledTransform 462
10.6.2 XSLT調試 466
10.7 數據庫和XML 467
10.7.1 FOR XML AUTO子句 467
10.7.2 SQL Server 2005和XML數據類型 471
10.8 小結 476
第11章 IIS7開發 478
11.1 IIS7的模塊化體係結構 478
11.1.1 IIS-WebServer 479
11.1.2 IIS-WebServerManagementTools 481
11.1.3 IIS-FTPPulishingService 481
11.2 IIS7的擴展體係結構 482
11.3 IIS7和ASP.NET集成的管道 482
11.4 建立定製的Web服務器 483
11.4.1 更新包的依賴關係 484
11.4.2 在Windows Vista上安裝IIS7 485
11.4.3 在Windows Server 2008上安裝IIS7 485
11.4.4 命令行安裝選項 486
11.4.5 Unattended安裝選項 487
11.4.6 升級 487
11.5 Internet Information Services(IIS)Manager 488
11.5.1 Application Pools 489
11.5.2 Web Sites 491
11.5.3 層次結構的配置 493
11.5.4 委托 497
11.6 把應用程序從IIS6遷移到IIS7 500
11.7 小結 502
第12章 提供程序模型概述 503
12.1 提供程序概述 503
12.2 ASP.NET 3.5中的提供程序模型 505
12.2.1 設置提供程序,以使用Microsoft SQL Server 7.0、2000、2005或2008 506
12.2.2 Membership提供程序 511
12.2.3 Role提供程序 515
12.2.4 Personalization提供程序 519
12.2.5 SiteMap提供程序 520
12.2.6 SessionState提供程序 522
12.2.7 Web事件提供程序 524
12.2.8 配置提供程序 532
12.2.9 WebParts提供程序 534
12.3 提供程序的配置 535
12.4 小結 536
第13章 擴展提供程序模型 537
13.1 提供程序是較大體係結構中的一層 537
13.2 通過基於屬性的編程改變提供程序的行為 538
13.2.1 通過SqlMembershipProvider建立簡單的密碼結構 538
13.2.2 通過SqlMembershipProvider建立強類型的密碼結構 541
13.3 ProviderBase類 542
13.4 建立自己的提供程序 544
13.4.1 創建CustomProviders應用程序 544
13.4.2 構建需要的類框架 545
13.4.3 創建XML用戶數據存儲 549
13.4.4 在web.config文件中定義提供程序實例 550
13.4.5 沒有實現Membership Provider類的方法和屬性 550
13.4.6 實現MembershipProvider類的方法和屬性 551
13.4.7 使用XmlMembership Provider進行用戶登錄 559
13.5 擴展預定義的提供程序 560
13.5.1 用新的LimitedSqlRoleProvider提供程序限製角色功能 560
13.5.2 使用新的LimitedSql RoleProvider提供程序 564
13.6 小結 567
第14章 站點導航 568
14.1 基於XML的站點地圖 568
14.2 SiteMapPath服務器控件 570
14.2.1 PathSeparator屬性 572
14.2.2 PathDirection 屬性 574
14.2.3 ParentLevelsDisplayed屬性 574
14.2.4 ShowToolTips屬性 575
14.2.5 SiteMapPath控件的子元素 575
14.3 TreeView服務器控件 576
14.3.1 標識TreeView控件的內置樣式 579
14.3.2 TreeView控件的各個部分 580
14.3.3 將TreeView控件綁定到XML文件上 581
14.3.4 在TreeView中選擇多個選項 583
14.3.5 在TreeView控件中指定定製的圖標 586
14.3.6 指定用於連接節點的綫條 587
14.3.7 編程使用TreeView控件 589
14.4 Menu服務器控件 594
14.4.1 對Menu控件應用不同的樣式 595
14.4.2 Menu事件 599
14.4.3 把Menu控件綁定到XML文件上 600
14.5 SiteMap數據提供程序 602
14.5.1 ShowStartingNode屬性 602
14.5.2 StartFromCurrentNode屬性 603
14.5.3 StartingNodeOffset屬性 604
14.5.4 StartingNodeUrl屬性 604
14.6 SiteMap API 605
14.7 URL映射 607
14.8 站點地圖的本地化 608
14.8.1 為本地化構建Web.sitemap文件 608
14.8.2 修改Web.config文件 609
14.8.3 創建程序集資源(.resx)文件 610
14.8.4 測試結果 611
14.9 安全補償 612
14.9.1 啓動管理員的角色管理功能 612
14.9.2 建立管理員的配置段 613
14.9.3 啓用安全補償功能 614
14.10 嵌套站點地圖文件 616
14.11 小結 618
第15章 個性化 619
15.1 個性化模型 619
15.2 創建個性化屬性 620
15.2.1 添加簡單的個性化屬性 620
15.2.2 使用個性化屬性 621
15.2.3 添加一組個性化屬性 625
15.2.4 使用分組的個性化屬性 626
15.2.5 為個性化屬性定義類型 626
15.2.6 使用定製的類型 627
15.2.7 提供默認值 629
15.2.8 把個性化屬性指定為隻讀 630
15.3 匿名個性化 630
15.3.1 支持終端用戶的匿名身份 630
15.3.2 使用匿名身份事件 633
15.3.3 個性化屬性的匿名選項 634
15.3.4 有關匿名用戶配置信息的警告 634
15.4 編程訪問個性化功能 635
15.4.1 遷移匿名用戶 635
15.4.2 profile的個性化 636
15.4.3 確定是否繼續自動保存profile值 637
15.5 個性化提供程序 638
15.5.1 使用SQL Server Express Edition 639
15.5.2 使用Microsoft的SQL Server 7.0/2000/2005/2008 640
15.5.3 使用多個提供程序 642
15.6 管理應用程序的配置信息 642
15.6.1 ProfileManager類的屬性 643
15.6.2 ProfileManager類的方法 643
15.6.3 建立ProfileManager.aspx頁麵 644
15.6.4 檢驗ProfileManager.aspx頁麵的代碼 647
15.6.5 運行ProfileManager.aspx頁麵 648
15.7 小結 649
第16章 成員和角色管理 650
16.1 身份驗證 650
16.2 授權 650
16.3 ASP.NET 3.5的身份驗證 651
16.3.1 為成員建立Web站點 651
16.3.2 添加用戶 653
16.3.3 請求證書 666
16.3.4 處理驗證用戶 673
16.3.5 顯示在綫用戶數 676
16.3.6 處理密碼 677
16.4 ASP.NET 3.5的授權 681
16.4.1 使用LoginView服務器控件 681
16.4.2 為角色管理建立Web站點 684
16.4.3 添加和檢索應用程序角色 687
16.4.4 刪除角色 689
16.4.5 給角色添加用戶 690
16.4.6 獲取某個角色的所有用戶 690
16.4.7 獲取包含某個用戶的所有角色 692
16.4.8 從角色中刪除用戶 693
16.4.9 檢查角色中的用戶 693
16.4.10 角色的高速緩存方式 694
16.5 使用Web站點管理工具 695
16.6 Membership API的公共方法 696
16.7 Roles API的公共方法 696
16.8 小結 697
第17章 Portal Framework和Web Part 698
17.1 Web Part簡介 698
17.2 建立動態的模塊化Web站點 700
17.2.1 WebPartManager控件 700
17.2.2 使用區域進行布局 701
17.2.3 WebPartZone控件 704
17.2.4 允許用戶改變頁麵的模式 706
17.2.5 修改區域 715
17.3 使用Portal Framework中的類 720
17.4 創建定製的Web Part 723
17.5 連接Web Part 728
17.5.1 建立提供程序Web Part 729
17.5.2 建立用戶Web Part 732
17.5.3 連接ASP.NET頁麵上的Web Part 734
17.5.4 連接Web Part時處理Master頁麵的難點 736
17.6 小結 737
第18章 用ASP.NET進行HTML和CSS設計 738
18.1 警告 738
18.2 HTML和CSS概述 739
18.2.1 CSS的引入 740
18.2.2 創建樣式錶 740
18.2.3 CSS規則 742
18.2.4 CSS繼承 750
18.2.5 元素的布局和定位 751
18.2.6 在Visual Studio中使用HTML和CSS 758
18.2.7 ASP.NET 2.0 CSS—— 友好的控件適配器 764
18.3 小結 764
第19章 ASP.NET AJAX 765
19.1 理解對AJAX的需求 765
19.1.1 在AJAX齣現之前 766
19.1.2 AJAX改變瞭這個過程 766
19.2 ASP.NET AJAX和Visual Studio 2008 769
19.2.1 客戶端技術 769
19.2.2 服務器端技術 770
19.2.3 用ASP.NET AJAX開發 770
19.3 ASP.NET AJAX應用程序 771
19.3.1 建立沒有AJAX的簡單ASP.NET頁麵 773
19.3.2 建立包含AJAX的簡單ASP.NET頁麵 774
19.4 ASP.NET AJAX的服務器端控件 780
19.4.1 ScriptManager控件 780
19.4.2 ScriptManagerProxy控件 782
19.4.3 Timer控件 784
19.4.4 UpdatePanel控件 785
19.4.5 UpdateProgress控件 789
19.5 使用多個UpdatePanel控件 792
19.6 使用頁麵曆史記錄 795
19.7 腳本閤並 801
19.8 小結 805
第20章 ASP.NET AJAX控件工具集 806
20.1 下載和安裝 807
20.1.1 新的Visual Studio模闆 808
20.1.2 給Visual Studio 2008工具箱添加新控件 808
20.2 ASP.NET AJAX控件 810
20.2.1 ASP.NET AJAX控件工具集的擴展程序 812
20.2.2 ASP.NET AJAX控件工具集中的服務器控件 857
20.3 小結 868
第21章 安全性 870
21.1 身份驗證和授權 870
21.2 應用身份驗證措施 871
21.2.1 [authentication]節點 871
21.2.2 基於Windows的身份驗證 872
21.2.3 基於窗體的身份驗證 879
21.2.4 Passport身份驗證 888
21.3 驗證特定的文件和文件夾 888
21.4 編程授權 889
21.4.1 使用User.Identity 890
21.4.2 使用User.IsInRole() 891
21.4.3 用WindowsIdentity顯示更多信息 892
21.5 身份和模擬 894
21.6 通過IIS進行保護 896
21.6.1 IP地址和域名限製 896
21.6.2 使用文件擴展名 897
21.6.3 使用ASP.NET MMC管理單元 899
21.6.4 使用IIS 7.0 Manager 900
21.7 小結 901
第22章 狀態管理 902
22.1 如何選擇 902
22.2 ASP.NET中的Session對象 904
22.2.1 會話和事件模型 904
22.2.2 配置會話狀態的管理 906
22.2.3 進程中的會話狀態 906
22.2.4 進程外的會話狀態 914
22.2.5 SQL支持的會話狀態 918
22.2.6 用其他提供程序擴展會話狀態 921
22.2.7 無cookie的會話狀態 922
22.2.8 選擇維護狀態的正確方式 923
22.3 Application對象 923
22.4 查詢字符串 924
22.5 cookie 924
22.6 迴送和跨頁麵的迴送 925
22.7 隱藏的字段、ViewState和ControlState 927
22.8 為短時間狀態存儲應用HttpContext.Current.Items 931
22.9 小結 932
第23章 高速緩存 934
23.1 高速緩存 934
23.1.1 輸齣高速緩存 934
23.1.2 部分頁麵(UserControl)的高速緩存 937
23.1.3 Post-Cache Substitution 938
23.1.4 HttpCachePolicy和客戶端高速緩存 940
23.2 編程高速緩存 942
23.2.1 使用Cache對象高速緩存數據 942
23.2.2 控製ASP.NET高速緩存 943
23.2.3 高速緩存依賴性 943
23.3 使用SQL Server高速緩存依賴性 949
23.3.1 使數據庫支持SQL Server高速緩存禁用功能 950
23.3.2 使錶支持SQL Server高速緩存禁用功能 950
23.3.3 對SQL Server 2000的影響 950
23.3.4 查看支持SQL高速緩存禁用功能的錶 951
23.3.5 使錶不支持SQL Server高速緩存禁用功能 952
23.3.6 使數據庫不支持SQL Server高速緩存禁用功能 952
23.3.7 SQL Server 2005高速緩存禁用功能 953
23.4 配置ASP.NET應用程序 954
23.5 測試SQL Server高速緩存禁用功能 955
23.5.1 給頁麵添加多個錶 957
23.5.2 給SQL Server高速緩存依賴性和Request對象建立關聯 957
23.5.3 給SQL Server高速緩存依賴性和Cache對象建立關聯 958
23.6 小結 961
第24章 調試和錯誤處理技術 962
24.1 設計期間的支持 962
24.1.1 語法通知 962
24.1.2 Immediate和Command窗口 964
24.1.3 任務列錶 964
24.2 跟蹤 965
24.2.1 System.Diagnostics.Trace 和ASP.NET的Page.Trace 966
24.2.2 頁麵級的跟蹤 966
24.2.3 應用程序的跟蹤 966
24.2.4 查看跟蹤數據 966
24.2.5 在組件中跟蹤 969
24.2.6 跟蹤的傳送 971
24.2.7 TraceListener 971
24.2.8 診斷選項 975
24.2.9 Web事件 976
24.3 調試 978
24.3.1 需要的內容 978
24.3.2 IIS和ASP.NET開發服務器 979
24.3.3 啓動調試會話 980
24.3.4 有助於調試的新工具 983
24.3.5 客戶端的Javascript調試 986
24.3.6 SQL存儲過程的調試 988
24.4 異常和錯誤處理 988
24.4.1 處理頁麵上的異常 989
24.4.2 處理應用程序異常 989
24.4.3 HTTP狀態碼 990
24.5 小結 991
第25章 文件I/O和流 992
25.1 使用驅動器、目錄和文件 992
25.1.1 DriveInfo類 993
25.1.2 Directory和DirectoryInfo類 996
25.1.3 File和FileInfo類 1002
25.1.4 使用路徑 1006
25.1.5 文件和目錄的屬性、特性和訪問控製列錶 1010
25.2 讀寫文件 1017
25.2.1 Stream類 1017
25.2.2 Reader和Writer類 1021
25.2.3 壓縮流 1025
25.3 處理串行端口 1030
25.4 網絡通信 1031
25.4.1 WebRequest和WebResponse 1032
25.4.2 發送郵件 1038
25.5 小結 1038
第26章 用戶控件和服務器控件 1040
26.1 用戶控件 1040
26.1.1 創建用戶控件 1040
26.1.2 與用戶控件交互 1043
26.1.3 動態加載用戶控件 1045
26.2 服務器控件 1050
26.2.1 WebControl項目的建立 1050
26.2.2 控件的屬性 1055
26.2.3 控件的顯示 1056
26.2.4 添加標記屬性 1059
26.2.5 給HTML設置樣式 1061
26.2.6 主題和skin 1063
26.2.7 添加客戶端特性 1065
26.2.8 檢測和響應瀏覽器功能 1073
26.2.9 使用ViewState 1076
26.2.10 引發PostBack事件 1080
26.2.11 處理迴送數據 1083
26.2.12 復閤控件 1085
26.2.13 模闆化控件 1088
26.2.14 在設計期間創建控件 1095
26.3 小結 1114
第27章 模塊和處理程序 1115
27.1 處理HTTP請求 1115
27.1.1 IIS 5/6和ASP.NET 1115
27.1.2 IIS 7和ASP.NET 1116
27.1.3 ASP.NET請求處理 1117
27.2 HttpModule 1117
27.2.1 修改HTTP輸齣 1119
27.2.2 URL的重寫 1122
27.2.3 IIS 通配符 1126
27.3 HttpHandler 1127
27.3.1 一般的處理程序 1127
27.3.2 在IIS中映射文件擴展名 1131
27.4 小結 1133
第28章 使用業務對象 1134
28.1 使用ASP.NET 3.5中的業務對象 1134
28.1.1 創建預編譯的.NET業務對象 1134
28.1.2 在ASP.NET應用程序中使用預編譯的業務對象 1137
28.2 COM交互操作性:在.NET 中使用COM 1138
28.2.1 運行庫可調用包裝(RCW) 1138
28.2.2 在ASP.NET代碼中使用COM對象 1139
28.2.3 錯誤處理 1144
28.2.4 用.NET應用程序部署COM組件 1146
28.3 在非托管代碼中使用.NET 1148
28.3.1 COM可調用包裝(CCW) 1148
28.3.2 在COM對象中使用.NET組件 1150
28.3.3 早期綁定和後期綁定 1153
28.3.4 錯誤處理 1154
28.3.5 用COM應用程序部署.NET組件 1156
28.4 小結 1157
第29章 ADO.NET EntityFramework 1158
29.1 能否使用同一種語言 1158
29.1.1 概念層和邏輯層 1160
29.1.2 層之間的映射 1160
29.2 創建第一個實體數據模型 1160
29.2.1 使用EDM嚮導 1161
29.2.2 使用ADO.NET實體設計器 1163
29.2.3 使用EDM建立ASP.NET頁麵 1164
29.3 理解關係 1167
29.3.1 一對一和一對多關係 1167
29.3.2 多對一和多對多關係 1170
29.4 EDM中的繼承 1173
29.5 使用存儲過程 1177
29.6 EntityDataSource控件 1180
29.6.1 創建基本頁麵 1180
29.6.2 配置數據源控件 1181
29.7 小結 1185
第30章 ASP.NET Dynamic Data 1186
30.1 使用Visual Studio 2008創建基本應用程序 1186
30.1.1 默認應用程序中創建的核心文件 1187
30.1.2 Dynamic Data應用程序 1188
30.1.3 連接數據庫 1193
30.1.4 在Global.asax文件中注冊數據模型 1196
30.1.5 樣式和布局 1198
30.1.6 應用程序的結果 1198
30.2 使用動態數據路由 1201
30.3 控製顯示方式 1205
30.4 小結 1207
第31章 建立和使用服務 1208
31.1 不同係統之間的通信 1208
31.2 建立一個簡單的XML Web服務 1210
31.2.1 WebService頁麵指令 1211
31.2.2 查看Web服務的基類文件 1211
31.2.3 把定製的數據集顯示為SOAP 1212
31.2.4 XML Web服務接口 1215
31.3 使用簡單的XML Web服務 1217
31.3.1 添加Web引用 1218
31.3.2 在客戶應用程序中調用Web服務 1219
31.4 Web服務的傳輸協議 1221
31.4.1 HTTP-GET 1223
31.4.2 HTTP-POST 1225
31.4.3 SOAP 1226
31.5 Web方法的重載 1226
31.6 高速緩存Web服務的響應 1229
31.7 SOAP標題 1230
31.7.1 用SOAP標題建立Web服務 1230
31.7.2 通過SOAP標題使用Web服務 1232
31.7.3 使用SOAP 1.2請求Web服務 1234
31.8 異步使用Web服務 1236
31.9 Windows CommunicationFoundation 1238
31.9.1 邁嚮SOA的一大步 1239
31.9.2 WCF概述 1240
31.9.3 建立WCF服務 1240
31.10 建立WCF使用程序 1247
31.10.1 添加服務引用 1247
31.10.2 使用數據閤同 1250
31.10.3 名稱空間 1255
31.11 小結 1255
第32章 ADO.NET Data Services 1256
32.1 創建第一個服務 1257
32.1.1 添加Entity Data Model 1257
32.1.2 創建服務 1259
32.2 查詢接口 1263
32.2.1 讀取數據錶 1264
32.2.2 從錶中讀取特定的項 1265
32.2.3 關係 1268
32.2.4 展開關係 1270
32.2.5 結果集中的排序 1273
32.2.6 在結果集中移動 1274
32.2.7 過濾內容 1275
32.3 在ASP.NET中使用ADO.NET Data Services 1276
32.4 小結 1280
第33章 本地化 1281
33.1 文化和地區 1281
33.1.1 理解文化類型 1282
33.1.2 ASP.NET綫程 1282
33.1.3 服務器端的文化聲明 1285
33.1.4 客戶端的文化聲明 1286
33.1.5 翻譯值和行為 1287
33.2 ASP.NET 3.5資源文件 1294
33.2.1 使用本地資源 1295
33.2.2 使用全局資源 1300
33.3 資源編輯器 1302
33.4 小結 1303
第34章 配置 1304
34.1 配置概述 1304
34.1.1 服務器配置文件 1305
34.1.2 應用程序配置文件 1308
34.1.3 配置設置的應用 1308
34.1.4 檢測配置文件的變化 1309
34.1.5 配置文件的格式 1309
34.2 公共配置設置 1310
34.2.1 連接字符串 1310
34.2.2 配置會話狀態 1311
34.2.3 編譯配置 1315
34.2.4 瀏覽器的功能 1317
34.2.5 定製錯誤 1319
34.2.6 身份驗證 1320
34.2.7 匿名身份 1322
34.2.8 授權 1323
34.2.9 鎖定配置設置 1325
34.2.10 ASP.NET頁麵配置 1326
34.2.11 include文件 1327
34.2.12 配置ASP.NET運行時設置 1328
34.2.13 配置ASP.NET輔助進程 1330
34.2.14 存儲與應用程序相關的設置 1332
34.2.15 配置文件的編程 1333
34.2.16 保護配置設置 1339
34.2.17 編輯配置文件 1343
34.3 創建定製段 1344
34.3.1 使用NameValueFileSectionHandler對象 1345
34.3.2 使用DictionarySectionHandler對象 1347
34.3.3 使用SingleTagSectionHandler對象 1348
34.3.4 使用定製的配置處理程序 1349
34.4 小結 1351
第35章 測試 1352
35.1 使用事件日誌 1352
35.1.1 讀取事件日誌 1353
35.1.2 寫入事件日誌 1355
35.2 使用性能計數器 1357
35.2.1 通過管理工具查看性能計數器 1357
35.2.2 建立基於瀏覽器的管理工具 1359
35.3 應用程序的跟蹤 1365
35.4 健康監控 1365
35.4.1 健康監控係統的提供程序模型 1366
35.4.2 健康監控的配置 1367
35.4.3 通過配置寫入事件:運行示例 1374
35.4.4 把事件路由到SQL Server中 1375
35.4.5 緩存Web事件 1377
35.4.6 通過電子郵件發送Web事件 1379
35.5 小結 1384
第36章 管理 1385
36.1 ASP.NET Web站點管理工具 1385
36.1.1 Home選項卡 1386
36.1.2 Security選項卡 1386
36.1.3 Application選項卡 1396
36.1.4 Provider選項卡 1399
36.2 在Vista的IIS上配置ASP.NET 1400
36.2.1 .NET Compilation 1401
36.2.2 .NET Globalization 1402
36.2.3 .NET Profile 1402
36.2.4 .NET Roles 1402
36.2.5 .NET Trust Levels 1403
36.2.6 .NET Users 1403
36.2.7 Application Settings 1405
36.2.8 Connection Strings 1405
36.2.9 Pages and Controls 1406
36.2.10 Providers 1406
36.2.11 Session State 1407
36.2.12 SMTP E-mail 1408
36.3 小結 1408
第37章 打包和部署ASP.NET應用程序 1409
37.1 部署各個部分 1409
37.2 部署之前的準備 1410
37.3 部署Web應用程序的方法 1411
37.3.1 使用XCOPY 1411
37.3.2 使用VS Copy Web Site選項 1413
37.3.3 部署預編譯的Web應用程序 1415
37.3.4 建立安裝程序 1417
37.4 安裝程序的選項 1424
37.4.1 使用部署項目的屬性 1424
37.4.2 File System編輯器 1427
37.4.3 Registry編輯器 1430
37.4.4 File Types編輯器 1431
37.4.5 User Interface編輯器 1431
37.4.6 Custom Actions編輯器 1433
37.4.7 Launch Conditions編輯器 1434
37.5 小結 1434
附錄A 遷移ASP.NET舊項目 1435
A.1 遷移過程並不難 1435
A.1.1 同時運行Framework的多個版本 1435
A.1.2 升級ASP.NET應用程序 1435
A.2 混閤版本——窗體驗證 1437
A.3 升級——ASP.NET保留的文件夾 1438
A.4 ASP.NET 3.5頁麵是XHTML 1439
A.5 在ASP.NET 3.5中沒有硬編碼的.js文件 1440
A.6 在Visual Studio 2008中轉換ASP.NET 1.x應用程序 1441
A.7 從ASP.NET 2.0遷移到3.5 1445
附錄B ASP.NET終極工具 1448
B.1 調試更簡單 1448
B.1.1 Firebug 1448
B.1.2 YSlow 1449
B.1.3 IE WebDeveloper和FirefoxWebDeveloper工具欄 1450
B.1.4 Aptana Studio——JavaScript IDE 1452
B.1.5 評測器:dotTrace或ANTS 1452
B.2 參考資料 1453
B.2.1 PositionlsEverything.net、QuirksMode.org和HTMLDog.com 1454
B.2.2 Visibone 1454
B.2.3 www.asp.net 1454
B.3 整理代碼 1455
B.3.1 來自Devexpress的Refactor! for ASP.NET 1455
B.3.2 Code Style Enforcer 1455
B.3.3 Packer for .NET——JavaScript最小化器 1456
B.4 Visual Studio 插件 1457
B.4.1 用於Visual Studio 的ASPX Edit Helper插件 1458
B.4.2 Power Toys Pack Installer 1458
B.5 擴展ASP.NET 1459
B.5.1 ASP.NET AJAX控件工具集 1460
B.5.2 Atif Aziz的ELMAH——錯誤記錄模塊和處理程序 1460
B.5.3 Helicon的ISAPI_Rewrite 1461
B.6 一般目的的開發工具 1462
B.6.1 Telerik的在綫代碼轉換器 1463
B.6.2 WinMerge和Differencing工具 1463
B.6.3 Reflector 1464
B.6.4 CR_Documentor 1465
B.6.5 Process Explorer 1466
B.7 小結 1467
附錄C Silverlight 2和ASP.NET 1468
C.1 入門 1468
C.2 Silverlight控件 1471
C.2.1 Silverlight控件 1472
C.2.2 MediaPlayer控件 1478
C.3 Silverlight和JavaScript 1479
C.3.1 JavaScript API 1479
C.3.2 HTML Bridge 1481
C.4 小結 1486
附錄D ASP.NET大於ASP.NET MVC 1487
D.1 抽象:Web窗體能做好的工作 1487
D.1.1 基本的Web窗體應用程序 1488
D.1.2 事件的重要性 1491
D.2 漏洞:Web窗體不適閤哪些場閤 1492
D.2.1 ViewState 1493
D.2.2 控製尖括號 1493
D.2.3 客戶ID 1494
D.2.4 測試 1494
D.3 返迴基礎:ASP.NET MVC相信… 1494
D.3.1 管弦樂作麯和編程 1495
D.3.2 Separation of Concerns的含義 1495
D.3.3 可維護性 1495
D.4 考慮可測試性 1496
D.5 對ASP.NET MVC的一般反應 1497
D.5.1 這看起來像是1999年的傳統ASP 1497
D.5.2 誰移動瞭我的[asp:Cheeserunat=“server”] 1497
D.5.3 另一個Web框架 1497
D.6 為什麼“(ASP.NET ] ASP.NET MVC) ==True” 1498
D.6.1 在配置之上的約定 1500
D.6.2 第三個請求 1503
D.6.3 請求的生命周期 1505
D.7 小結 1505
附錄E ASP.NET在綫資源 1506
E.1 作者的Blog 1506
E.2 ASP.NET有影響的Blog 1506
E.3 Web站點 1506
· · · · · · (
收起)