圖書簡介
目錄
第1章ASP.NET概述 1
1.1是升級還是創新 1
1.2開始使用ASP.NET 2
1.3安裝.NET 2
1.3.1配置範例 3
1.3.2運行範例 3
1.4VisualStudio.NET2003 5
1.5在VisualStudio.NET2003中創建ASP.NET應用程式 7
1.6ASP.NET與ASP的區別 8
1.6.1使用新技術的原因 8
1.6.2ASP.NET的優點 9
1.7編寫ASP.NET頁面 18
1.7.1創建Web站點 18
1.7.2頁面範例 18
1.8本章小結 21
第2章認識.NETFramework 22
2.1.NET簡介 23
2.1.1.NET的組成 23
2.1.2.NET戰略 23
2.1.3WindowsDNA存在的問題 25
2.1.4需要.NET的原因 27
2.2公共語言運行庫(CLR) 31
2.2.1CLR服務 31
2.2.2通用功能 32
2.2.3使用對象 32
2.2.4命名空間 33
2.2.5通用類型系統 34
2.2.6程式集——版本化和安全性代碼 40
2.2.7CLR和COM 44
2.2.8中間語言 44
2.2.9應用程式域 45
2.3.NETFramework詳解 46
2.3.1應用程式開發技術 47
2.3.2類庫 49
2.3.3基類庫 49
2.4ASP.NET的設計目標 50
2.4.1消除對腳本引擎的依賴性 51
2.4.2性能 51
2.4.3在ASP基礎上的升級 52
2.4.4便於部署 52
2.4.5強大的工具支持 53
2.4.6更簡單、更靈活的配置 54
2.4.7分解的“開放”設計 55
2.4.8與語言無關 57
2.4.9代碼更少、更簡練、更易於維護 58
2.4.10功能強大的身份確認模型 58
2.4.11正確認識錯誤的存在 59
2.5本章小結 59
第3章.NET語言 60
3.1所提供的語言 61
3.1.1VBScript何去何從 61
3.1.2VisualStudio還是Notepad 61
3.2VisualBasic.NET 62
3.2.1面向對象功能 62
3.2.2語言的變化 71
3.3C# 75
3.3.1類 76
3.3.2方法 77
3.3.3屬性 78
3.3.4構造函式 79
3.3.5析構函式 79
3.3.6繼承性 80
3.3.7接口 81
3.3.8引用 82
3.3.9異常處理 82
3.3.10XML文檔 84
3.3.11非安全代碼 87
3.3.12運算符重載 88
3.4JScript.NET 88
3.5C++ 89
3.6VisualJ#.NET 89
3.7所支持的其他語言 89
3.8.NET語言編譯器 90
3.9CLR的優點 93
3.9.1通用API 93
3.9.2通用類型 94
3.9.3跨語言繼承性 95
3.9.4跨語言調試和記錄 97
3.10性能問題 97
3.10.1語言 97
3.10.2後期綁定代碼 97
3.11常用範例 98
3.11.1變數聲明 98
3.11.2函式和過程 98
3.11.3語法的區別 99
3.11.4循環 100
3.11.5類型轉換 102
3.12本章小結 103
第4章編寫ASP.NET頁面 104
4.1編碼問題 104
4.1.1以前的編碼方式 104
4.1.2ASP.NET頁面中的編碼 106
4.1.3回送識別 110
4.2Page類 112
4.2.1HttpRequest對象 115
4.2.2HttpResponse對象 117
4.2.3頁面處理步驟 120
4.2.4頁面狀態 129
4.2.5頁面指令 130
4.3後台編碼 135
4.3.1開發工具中的後台編碼 135
4.3.2使用後台編碼 136
4.3.3在ASP.NET頁面中繼承後台編碼類檔案 138
4.4頁面高速快取 139
4.4.1輸出高速快取範例 139
4.4.2通過瀏覽器實現高速快取 140
4.5智慧型導航 141
4.6用戶控制項 141
4.6.1建立用戶控制項的方法 142
4.6.2用戶控制項屬性 146
4.6.3用戶控制項事件 147
4.6.4用戶控制項的後台編碼 148
4.6.5用戶控制項的局部頁面高速快取 149
4.7本章小結 151
第5章伺服器控制項與驗證控制項 152
5.1伺服器控制項的概念 152
5.1.1再論ASP.NET頁面模型 152
5.1.2練習使用伺服器控制項 155
5.1.3關於範例應用程式 156
5.1.4使用伺服器控制項的場合 157
5.1.5ASP.NET中的可用控制項 158
5.2HTML伺服器控制項 159
5.2.1HtmlControl基類 159
5.2.2HTMLGenericControl類 160
5.2.3HTML控制項的專有類 161
5.2.4HTML伺服器控制項的用法 163
5.2.5HTML伺服器控制項範例 164
5.3ASP.NET輸入驗證控制項 181
5.3.1輸入驗證控制項的作用 181
5.3.2BaseValidator類 182
5.3.3驗證控制項的特有成員 182
5.3.4驗證控制項的用法 183
5.4本章小結 190
第6章ASP.NETWebForm控制項 191
6.1基本的ASP.NETWebForm控制項 191
6.1.1為什麼要有另外一組控制項 192
6.1.2基類WebControl 192
6.1.3特殊的WebForm控制項類 194
6.1.4使用WebForm控制項 195
6.1.5ASPWebForm控制項範例 201
6.2ASP.NET列表控制項 216
6.2.1ListControl基類 216
6.2.2特殊的列表控制項類 217
6.2.3使用ASP列表控制項 218
6.3ASP.NET中的其他多功能控制項 223
6.4本章小結 228
第7章列表控制項和數據綁定 229
7.1獲取範例檔案 229
7.2數據綁定的相關概念 230
7.2.1在伺服器上完成所有操作 230
7.2.2顯示數據——ASP和ASP.NET 231
7.2.3數據綁定的語法 232
7.2.4單值數據綁定 232
7.2.5重複值數據綁定 236
7.2.6重複值數據綁定的簡單範例 243
7.3添加樣式和模板 256
7.3.1使用樣式屬性 256
7.3.2給DataGrid控制項添加樣式 257
7.3.3對數據綁定控制項使用模板 258
7.3.4處理數據綁定事件 273
7.3.5對DataGrid中的行進行排序和篩選 275
7.3.6DataGrid中的自動分頁 280
7.4使用數據綁定控制項編輯數據 284
7.4.1利用DataGrid控制項編輯數據 284
7.4.2利用DataList控制項選擇和編輯數據 289
7.5本章小結 295
第8章.NET數據管理引論 296
8.1數據存儲和數據訪問 296
8.1.1轉向分散式環境 297
8.1.2XML——將來的數據格式 297
8.1.3是否是另一項數據訪問技術 298
8.1.4.NET意味著斷開數據的連線 299
8.1.5.NET意味著XML數據 301
8.1.6.NET意味著託管代碼 301
8.1.7.NET意味著新的編程模型 301
8.2.NET中的數據管理 302
8.2.1數據管理的系統命名空間 302
8.2.2導入所需的命名空間 303
8.3基本的ADO.NET類 305
8.3.1ADO和ADO.NET的技術比較 306
8.3.2Connection類 307
8.3.3Command類 308
8.3.4DataAdapter類 308
8.3.5DataSet類 310
8.3.6DataTable類 311
8.3.7DataView類 312
8.3.8DataReader類 313
8.3.9DataReader和DataSet的選取 315
8.3.10.NET中的關係數據提供程式 315
8.4.NET中常見的數據訪問任務 316
8.4.1在自己的系統上創建範例 317
8.4.2ASP.NET與IIS6.0和WindowsServer2003 318
8.4.3使用DataReader對象 319
8.4.4一個簡單的DataSet範例 321
8.4.5含有多個表的DataSet範例 323
8.4.6返回DataSet對象的用戶控制項 327
8.5.NET中的XML引論 328
8.5.1基本的XML對象 328
8.5.2XPathNavigator類 331
8.5.3XmlTextWriter類 333
8.5.4XmlReader類 333
8.5.5XmlValidatingReader類 334
8.5.6XslTransform類 335
8.6.NET中常見的XML任務 335
8.6.1通過DOM的XML文檔訪問操作 336
8.6.2使用XPathNavigator對象的XML文檔訪問操作 338
8.6.3搜尋XML文檔 342
8.6.4XMLTextWriter對象範例 344
8.6.5XMLTextReader對象範例 347
8.6.6XSLTransform對象範例 349
8.7選擇一種數據存儲的方法 350
8.7.1關鍵在於訪問和處理 351
8.7.2查詢的新方法 351
8.7.3傳輸協定是大勢所趨 352
8.7.4.NET是一套偉大的解決方案 352
8.8本章小結 352
第9章處理關係數據 353
9.1獲得範例檔案 353
9.2訪問複雜數據 354
9.2.1利用DataReader訪問複雜數據 354
9.2.2通過DataSet訪問複雜數據 356
9.2.3訪問和顯示嵌套的數據 357
9.2.4使用資料庫的存儲過程 360
9.3處理DataTable對象 368
9.3.1創建和填充新DataTable的代碼 368
9.3.2在表中添加數據行 369
9.3.3為DataSet添加表 370
9.3.4管理約束和默認值 370
9.3.5指定主鍵和外鍵 373
9.3.6添加、修改、移去和刪除行 377
9.3.7處理DataTable事件 384
9.3.8使用表和列映射 388
9.4數據的排序和篩選 391
9.4.1DataTable對象中的排序和篩選 391
9.4.2DataView對象中的排序和篩選 396
9.5本章小結 398
第10章關係數據源的更新 399
10.1獲得範例檔案 399
10.2利用Command對象更新數據 400
10.2.1使用Command對象和SQL語句 400
10.2.2使用存儲過程和Command對象 403
10.3使用事務處理更新數據源 406
10.3.1資料庫事務 407
10.3.2基於連線的事務處理 410
10.4更新DataSet對象中的數據 414
10.4.1深入到DataAdapter對象內部 414
10.4.2使用DataAdapter.Update方法 419
10.4.3使用存儲過程更新DataSet 424
10.4.4DataAdapter中的更新事件 431
10.5對並發數據更新的管理 435
10.5.1避免出現並發錯誤 436
10.5.2一個並發錯誤範例 436
10.5.3僅更新已改變的列 438
10.5.4利用RowUpdated事件捕獲錯誤 443
10.5.5更新完成後查找錯誤 452
10.6本章小結 456
第11章.NET中的XML數據管理 457
11.1獲取範例檔案 457
11.2XML和DataSet對象 458
11.2.1DataSet基於XML的方法 458
11.2.2將數據從DataSet寫入XML檔案 459
11.2.3將數據從XML檔案讀入DataSet 462
11.2.4以字元串的形式從DataSet中得到XML 465
11.2.5DataSet中的嵌套XML和關係數據 466
11.3處理XmlDataDocument對象 470
11.4直接從SQLServer中讀取XML數據 476
11.5驗證XML文檔的有效性 478
11.6創建和編輯XML文檔 486
11.7使用XSL和XSLT轉換 492
11.7.1一個XSL轉換的範例 492
11.7.2用XmlResolver載入樣式表和模式 496
11.8本章小結 498
第12章Web應用程式和global.asax 499
12.1IISWeb根目錄以及應用程式 499
12.1.1創建IIS虛擬目錄 500
12.1.2把資料夾標記為應用程式 501
12.1.3WindowsServer2003 503
12.2ASP.NETWeb應用程式 506
12.2.1註冊組件 506
12.2.2應用程式代碼:global.asax 510
12.3應用程式狀態的管理 514
12.3.1Session——管理用戶狀態 515
12.3.2Application——管理應用程式狀態 517
12.3.3Cache——管理瞬時狀態 519
12.4應用程式事件 528
12.4.1事件的語法和原型 529
12.4.2支持的事件 529
12.4.3事件範例 532
12.5高級主題 537
12.5.1靜態變數 538
12.5.2為global.asax使用自己的基類 539
12.5.3將檔案擴展名映射到ASP.NET中 540
12.5.4異步應用程式事件 542
12.6本章小結 547
第13章ASP.NET的配置 549
13.1配置綜述 549
13.1.1ASP的配置 550
13.1.2ASP.NET的配置 551
13.1.3配置檔案格式 554
13.2常用的配置設定 558
13.2.1通用配置設定 558
13.2.2頁面配置 561
13.3跟蹤 571
13.3.1傳統的ASP跟蹤 571
13.3.2ASP.NET跟蹤 572
13.3.3查看跟蹤輸出 572
13.3.4跟蹤配置設定 574
13.4定製錯誤 575
13.4.1錯誤模式 576
13.4.2總是顯示ASP.NET錯誤頁面 577
13.4.3定製錯誤頁面 577
13.4.4配置IIS和ASP.NET來支持相同的錯誤頁面 578
13.5身份驗證和授權 579
13.5.1身份驗證 579
13.5.2護照驗證 581
13.5.3授權 582
13.6Web服務 582
13.6.1國際化和編碼 583
13.6.2編譯選項 585
13.6.3執行身份的控制 590
13.6.4用HTTP處理程式來擴展ASP.NET 592
13.6.5用HTTP模組擴展ASP.NET 596
13.6.6配置ASP.工作進程 597
13.6.7機器密鑰 606
13.7高級問題 607
13.7.1指定位置 607
13.7.2設定路徑 608
13.7.3鎖定配置設定 608
13.7.4定製配置處理程式 611
13.8本章小結 613
第14章保障ASP.NET應用程式的安全 614
14.1Windows2000和IIS安全性概述 614
14.1.1安全性需求 614
14.1.2安全性概念 615
14.1.3Windows的身份驗證過程 618
14.1.4在IIS中驗證身份 619
14.1.5在Windows中授權 623
14.1.6在IIS中授權 624
14.2ASP.NET安全概述 624
14.2.1ASP.NET安全進程 625
14.2.2ASP.NET模仿 625
14.2.3WindowsServer2003和IIS6.0 626
14.2.4ASP.NET安全選項 630
14.3程式設計的安全和個性化處理 647
14.3.1角色和身份概述 647
14.3.2獲取用戶的身份和角色 647
14.4ASP.NET安全範例 649
14.4.1獲取範例檔案 649
14.4.2在伺服器上建立範例 650
14.4.3Windows身份驗證範例 652
14.4.4基於表單的身份驗證範例 655
14.4.5簡單的個性化範例 667
14.5ASP.NET進程賬戶和信任級別 671
14.5.1指定進程賬戶 671
14.5.2指定信任級別 674
14.6本章小結 675
第15章處理集合和列表 677
15.1處理集合和列表 677
15.2System.Collections核心接口 678
15.2.1IEnumerable和IEnumerator接口 679
15.2.2ICollection和IList接口 682
15.2.3列表排序——IComparer和IComparable 689
15.2.4ICollection接口 694
15.2.5處理字典對象 699
15.3System.Collections.Specialized命名空間 711
15.3.1StringCollection類 711
15.3.2StringDictionary類 712
15.4強制類型的集合 712
15.4.1定義定製類型 713
15.4.2創建集合類 714
15.4.3使用集合類 716
15.4.4DictionaryBase和CollectionBase類 717
15.4.5可任意處理的枚舉對象 719
15.5本章小結 720
第16章使用其他基類 721
16.1目錄和檔案的處理 721
16.1.1類的概述 721
16.1.2DirectoryInfo類和Directory類 722
16.1.3File類和FileInfo類 724
16.1.4常見的目錄和檔案操作 725
16.2正則表達式 756
16.2.1模式匹配 756
16.2.2正則表達式類 758
16.3本章小結 762
第17章.NET組件 764
17.1編寫業務對象 764
17.1.1創建對象 765
17.1.2編譯類 776
17.1.3測試類 777
17.2跨語言繼承 783
17.2.1跨語言繼承範例 783
17.2.2.NET中的事務處理 786
17.2.3服務組件 787
17.3部署組件 791
17.3.1什麼是程式集 791
17.3.2程式集和版本問題 792
17.3.3程式集清單 793
17.3.4並排執行 795
17.4本章小結 795
第18章建立ASP.NET伺服器控制項 796
18.1編寫簡單的控制項 796
18.1.1創建一個C#控制項 796
18.1.2VisualBasic中的控制項開發 800
18.1.3多步頁面顯示 803
18.1.4組合控制項 816
18.2編寫文本框控制項 825
18.2.1IPostBackDataHandler接口 827
18.2.2引發事件的控制項 829
18.2.3使用視圖狀態 836
18.2.4類型和視圖狀態 842
18.2.5關於對象屬性和UI模板的更多內容 843
18.2.6DataBind和OnDataBinding 852
18.3其他問題 854
18.3.1訪問ASP.NET內部對象 854
18.3.2編寫自適應控制項 856
18.3.3控制項屬性 857
18.3.4定製控制項構建器 858
18.4用戶控制項 858
18.5本章小結 859
第19章公布Web服務 860
19.1Web服務概況 861
19.1.1常見問題 861
19.1.2規範 862
19.2構建ASP.NETWeb服務 863
19.3編寫ASP.NETWeb服務 869
19.3.1內聯 869
19.3.2後台編碼 869
19.3.3WebService指令 870
19.3.4應用程式代碼 872
19.4協定 875
19.4.1HTTP-GET 875
19.4.2HTTP-POST 876
19.4.3SOAP 876
19.5數據類型 877
19.6WebMethod和WebService屬性 878
19.6.1WebMethod屬性 878
19.6.2WebService屬性 885
19.7設計ASP.NETWeb服務 890
19.7.1繁瑣和簡潔 890
19.7.2無狀態與有狀態 891
19.7.3高速快取與靜態 892
19.7.4異步與同步 893
19.8高級ASP.NETWeb服務 894
19.8.1控制並整理XML 894
19.8.2修改Web服務幫助頁 897
19.8.3SOAP頭 898
19.9本章小結 903
第20章使用Web服務 904
20.1查找和描述Web服務 904
20.1.1UDDI 905
20.1.2Web服務描述語言 907
20.2構建Web服務代理 910
20.2.1Fibonacci代理 911
20.2.2使用VisualStudio.NET 913
20.2.3使用wsdl.exe 917
20.3使用代理類 922
20.3.1控制逾時 922
20.3.2設定URL 923
20.3.3為訪問Web伺服器設定代理 924
20.3.4維護狀態 925
20.4從Web站點到Web服務 928
20.4.1編寫WSDL 928
20.4.2構建代理 930
20.4.3使用ScreenScrape代理 931
20.5設計選擇 933
20.5.1SOAP異常 933
20.5.2使用SOAP頭檔案 935
20.6Web服務的安全性 938
20.6.1ASP.NET身份驗證和授權 938
20.6.2HTTPS加密和客戶證書 943
20.7高級主題 946
20.7.1定製的身份驗證和授權 947
20.7.2SOAPExtensions 952
20.8本章小結 960
第21章移動控制項 961
21.1無線Web概述 961
21.1.1WAP 963
21.1.2WML 964
21.1.3設備的互操作性 969
21.2移動控制項 970
21.2.1簡單範例 971
21.2.2查看生成的代碼 973
21.2.3移動控制項窗體 976
21.2.4控制項引用 978
21.2.5mobileLabel 978
21.2.6mobileLink 979
21.2.7mobileImage 981
21.2.8mobileCommand 983
21.2.9mobileTextBox 984
21.2.10mobileList 986
21.2.11mobileSelectionList 990
21.2.12mobileObjectList 992
21.2.13mobilePhoneCall 998
21.2.14mobileCalendar 999
21.2.15mobileTextView 1002
21.2.16mobileAdRotator 1002
21.2.17mobilePanel 1002
21.2.18驗證控制項 1002
21.3移動控制項的高級主題 1004
21.3.1設定樣式 1004
21.3.2使用設備的功能 1005
21.3.3模板 1009
21.3.4分頁 1011
21.4本章小結和未來展望 1013
21.4.1移動Internet的未來發展 1013
21.4.2移動控制項的未來發展 1013
第22章跟蹤、錯誤處理、調試和性能 1015
22.1跟蹤 1015
22.1.1頁面級跟蹤 1015
22.1.2寫跟蹤信息 1017
22.1.3應用程式級跟蹤 1020
22.2錯誤處理 1021
22.2.1結構化的異常處理 1021
22.2.2ASP.NET錯誤處理 1027
22.2.3向管理員通知錯誤 1029
22.3調試 1031
22.3.1SDK調試器 1032
22.3.2在VisualStudio.NET中調試代碼 1034
22.4測試與性能 1035
22.4.1實施 1036
22.4.2抽樣 1043
22.4.3定製抽樣 1043
22.4.4分析 1046
22.5本章小結 1046
第23章遷移和互操作性 1047
23.1遷移、集成還是重寫 1047
23.1.1遷移 1048
23.1.2集成 1048
23.1.3重寫 1048
23.1.4不做任何改動 1048
23.2ASP.NET 1049
23.2.1準備工作 1049
23.2.2內部對象 1049
23.2.3頁面的改變 1057
23.3語言的變化 1058
23.4互操作性 1061
23.4.1跨邊界 1061
23.4.2在.NET中使用COM對象 1064
23.4.3在COM中使用.NET組件 1067
23.4.4API調用 1074
23.5本章小結 1080
第24章案例研究——IBuyAdventure.NET 1081
24.1應用程式概述 1081
24.2IBuyAdventure.NET(IBA.NET) 1081
24.2.1目標用戶 1082
24.2.2伸縮性——Web解決方案平台 1082
24.2.3設計企業的伸縮性 1082
24.3業務對象和程式集 1083
24.3.1ProductsDB業務對象 1083
24.3.2程式集 1087
24.4IBuyAdventure.NET資料庫 1089
24.4.1Accounts表 1089
24.4.2Orders表 1089
24.4.3Products表 1090
24.4.4ShoppingCarts表 1090
24.5應用程式的用戶界面 1091
24.6IBuyAdventure.NET中的用戶控制項 1092
24.6.1隻有一個伺服器端的form元素 1095
24.6.2用C#來編寫用戶控制項和代碼 1095
24.6.3特殊用戶控制項——Specials.ascx 1097
24.6.4類別用戶控制項——Categories.ascx 1099
24.6.5產品詳細說明 1104
24.6.6購物車 1105
24.6.7顯示購物車和改變訂單 1109
24.6.8結賬處理與安全性 1114
24.6.9結賬處理 1119
24.7本章小結 1123
附錄A公用的系統命名空間 1124
附錄B提高性能的技巧 1128
B.1管理視圖狀態 1128
B.2管理會話狀態 1128
B.3使用輸出高速快取 1129
B.4僅在合適的位置使用伺服器控制項 1129
B.5使用DataReader,而不是DataSet 1130
B.6使用SQLTDS類訪問數據 1130
B.7儘可能使用數據綁定 1130
B.8在VisualBasic中使用OptionExplicit或Strict 1130
B.9對組件使用早期綁定 1131
B.10避免ASP兼容性問題 1131
B.11記住新的請求和回響對象 1132
附錄CASP.NET1.1中的變動 1133
C.1新的命名空間 1133
C.2System命名空間中的變化 1133
C.3System.Data命名空間中的變化 1133
C.4System.IO命名空間中的變化 1133
C.5System.Net命名空間中的變化 1134
C.6System.Web命名空間中的變化 1134
C.7Web服務類中的變化 1136
C.8System.Xml命名空間中的變化 1136
附錄D參考資料及其他信息 1137