本書著重理論實務結合,針對每個ASP.NET控制項發展技術知識點,基本上都會有對應的範例應用。
在章節分類方面,依照技術點類別分類,內容比較全面,對每個控制開發技術點,都進行了詳盡的闡述,本書也可以作為查找手冊使用。
目錄:
第1章伺服器控制項概述及開發環境部署1
1.1 自訂伺服器控制項1
1.2 伺服器控制在軟體開發過程中的作用1
1.3 在控制開發中提升自己2
1.4 可繼承控件基底類別介紹2
1.5 運行一個簡單的控制7
1.5.1 發展一個簡單控制7
1.5.2 部署和運行11
1.6 控件生命週期12
1.6.1 概述12
1.6.2 用程式碼追蹤控制生命週期過程14
1.7 本章總結17
第2章伺服器控制開發中的調試技術18
2.1 預置代碼範例18
2.2 調試頁面服務端代碼19
2.3 伺服器控制項的調試20
2.3.1 運行模式下的調試方法20
2.3.2 設計模式下的調試方法20
2.4 JavaScript腳本調試方法22
2.4.1 偵錯頁面中的JavaScript腳本(方法一) 22
2.4.2 偵錯頁面中的JavaScript腳本(方法二) 23
2.4.3 調試非嵌入式JavaScript腳本檔案23
2.4.4 調試嵌入式JavaScript腳本資源檔24
2.4.5 高效率調試的技巧24
2.5 Ajax Library對JavaScript調試支援26
2.6 本章總結26
第3章從零開始開發伺服器控制項27
3.1 選擇基類27
3.2 控制項呈現順序28
3.3 Render呈現控制項的幾種方式30
3.3.1 使用HTMLTextWriter類別輸出30
3.3.2 直接輸出HTML標籤32
3.3.3 使用伺服器控制項的RenderControl
方法33
3.4 AddAttributesToRender方法34
3.5 CreateChildControls方法35
3.6 INamingContainer介面36
3.7 實作複合控件38
3.7.1 CreateChildControls方法39
3.7.2 ChildControlsCreated屬性39
3.7.3 EnsureChildControls方法39
3.7.4 RecreateChildControls方法39
3.7.5 Controls屬性40
3.7.6 HasControls方法40
3.7.7 HasEvents方法40
3.7.8 FindControl方法41
3.7.9 實作複合控件範例41
3.8 常用開發技巧51
3.8.1 DesignMode屬性51
3.8.2 屏蔽基底類別控制項中的屬性52
3.8.3 Page.Request.Browser屬性53
3.8.4 設定控制項ID規範53
3.8.5 增強FindControl功能54
3.8.6 映射服務端控制項值到客戶端55
3.8.7 禁止派生自CompositeControl的控制項建立子控制項56
3.8.8 使用CreateChildControls的注意事項56
3.8.9 不要誤解設計元屬性DefaultValue 57
3.8.10 在Render方法中利用基底類別資源57
3.8.11 條件編譯&條件屬性60
3.9 本章總結61
第4章伺服器控制項屬性62
4.1 控制項屬性的作用62
4.1.1 系統屬性62
4.1.2 自訂屬性62
4.2 簡單屬性63
4.3 屬性的設計時特性64
4.4 複雜屬性67
4.4.1 概述67
4.4.2 複雜屬性的幾種標記形式67
4.4.3 深入研究—複雜屬性分析器79
4.5 深入研究-自訂自己的屬性編輯器85
4.5.1 系統屬性編輯器85
4.5.2 定制屬性編輯器91
4.6 類型轉換器126
4.6.1 系統類型轉換器126
4.6.2 自訂自己的型別轉換器128
4.7 實作自訂屬性138
4.8 本章總結145
第5章事件與資料回發機制146
5.1 控制項事件與資料回發概述146
5.1.1 事件及其意義146
5.1.2 資料回發機制147
5.2 事件和資料回發機制的實作148
5.2.1 客戶端回傳事件介面
IPostBackEventHandler 148
5.2.2 客戶端回發/回調揭密150
5.2.3 回傳資料處理介面
IPostBackDataHandler 153
5.2.4 正確處理繼承基底類別中控制項的事件159
5.2.5 擴充KingTextBox控制功能(King
TextBoxCanPostEvent控制項) 161
5.3 複合控制項的事件處理機制168
5.3.1 高效率事件集合物件168
5.3.2 自訂自己的委託和事件參數類別170
5.3.3 複合控制項的事件處理175
5.3.4 自動完成功能控件
SearchControlIntelligent 185
5.4 本章總結193
第6章頁面狀態機制194
6.1 頁面狀態概述194
6.2 視圖狀態機制195
6.2.1 IStateManager介面195
6.2.2 控制項生命週期中的裝載和保存視圖階段196
6.2.3 簡單型別視圖狀態應用197
6.2.4 實作自訂類型視圖狀態205
6.3 控制項狀態機制217
6.4 視圖狀態和控制項狀態的關係221
6.4.1 在停用視圖狀態的情況下仍然使用
ViewState物件221
6.4.2 IStateManager介面仍然可以在控制項狀態中使用223
6.4.3 視圖狀態和控制項狀態組合使用規則225
6.5 加密頁面狀態225
6.6 清除頁面狀態226
6.7 動態新增控制項的視圖狀態分析228
6.8 自訂類型轉換器實現高效率序列化231
6.9 頁面狀態效能最佳化策略238
6.9.1 儲存位置最佳化-把視圖狀態資訊保存在服務端而非客戶端238
6.9.2 體積最佳化-壓縮視圖狀態資料240
6.9.3 分塊儲存視圖狀態資料243
6.10 視圖狀態與控制項狀態的總結243
6.11 本章總結244
第7章自訂自訂控制項主題樣式245
7.1 控制項樣式概述245
7.2 ASP.NET對樣式的支援245
7.2.1 Style類別的工作原理及使用245
7.2.2 WebControl基類對樣式的支援功能及其工作原理249
7.2.3 HTMLTextWriter類別對控制項樣式的支援252
7.2.4 定義控制項內部的樣式屬性規則253
7.2.5 兩個常用轉換方法256
7.3 應用範例260
7.3.1 複合控制項樣式及視圖狀態260
7.3.2 控制項結構與樣式分離方案268
7.4 本章總結295
第8章控制客戶端程式設計模型297
8.1 ASP.NET服務端控制項對客戶端的支援297
8.2 ClientScriptManager類別功能詳解301
8.2.1 RegisterArrayDeclaration方法301
8.2.2 RegisterClientScriptBlock方法302
8.2.3 RegisterClientScriptInclude方法303
8.2.4 RegisterClientScriptResource方法304
8.2.5 RegisterStartupScript方法305
8.2.6 RegisterExpandoAttribute方法305
8.2.7 RegisterHiddenField方法306
8.2.8 GetCallbackEventReference方法307
8.2.9 GetPostBackClientHyperlink方法307
8.2.10 GetPostBackEventReference方法308
8.2.11 GetWebResourceUrl方法308
8.2.12 RegisterOnSubmitStatement方法309
8.3 客戶端回呼309
8.4 客戶端控制應用範例323
8.4.1 封裝JS客戶端物件323
8.4.2 封裝HTC客戶端物件343
8.4.3 線上簽章控制範例應用371
8.5 常用的一些JavaScript框架385
8.6 本章總結387
第9章自訂用戶控制388
9.1 使用者控制項概述388
9.1.1 使用者控制項的作用388
9.1.2 了解System.Web.UI.UserControl
基類388
9.2 用戶控制應用範例389
9.2.1 簡單使用者控制389
9.2.2 複雜資料綁定使用者控制項394
9.3 用戶控制快取419
9.3.1 ASP.NET快取介紹419
9.3.2 用戶控制快取420
9.4 本章總結421
第10章開發驗證控制項422
10.1 驗證控制項的工作原理422
10.1.1 內建驗證控制項簡述422
10.1.2 驗證控制項的工作機制解析423
10.2 實作自訂驗證控制項443
10.3 本章總結451
第11章在控制項使用嵌入資源452
11.1 在控制項中嵌入資源的原理452
11.2 在控制項中應用嵌入資源453
11.2.1 在控制項中使用嵌入資源453
11.2.2 常用嵌入資源類型及用法455
11.3 瀏覽器常用工具460
11.3.1 HttpWatch 460
11.3.2 IE Develper Toolbar 461
11.3.3 Fiddler 461
11.4 本章總結462
第12章開發模板資料綁定控制項463
12.1 ASP.NET模板屬性控制項機制463
12.1.1 模板屬性介紹463
12.1.2 ASP.NET對模板控制項的支援464
12.1.3 Repeater控制項模板實作機制解析466
12.2 自訂控制項應用範例469
12.2.1 模板控制功能469
12.2.2 應用範例470
12.3 本章總結489
第13章資料綁定與資料來源控制項490
13.1 資料綁定控制項490
13.1.1 資料綁定控制項概述490
13.1.2 ASP.NET對資料綁定控制項的支援491
13.2 資料綁定控制項範例應用501
13.2.1 控制實現功能501
13.2.2 應用範例502
13.3 資料源控制項508
13.3.1 資料來源控制項概述508
13.3.2 ASP.NET對資料來源控制項的支援508
13.4 資料來源控制項範例應用515
13.4.1 控制實現功能515
13.4.2 應用範例516
13.5 本章總結522
第14章擴充控制方案-GridView 523
14.1 擴充控制項概述523
14.2 任意自訂GridView多表頭523
14.2.1 功能概述523
14.2.2 代碼實現524
14.3 固定GridView表頭並增加捲軸支援527
14.3.1 功能概述527
14.3.2 代碼實現528
14.4 本章總結533
第15章自訂控制設計模式下程式設計總534
15.1 .NET框架對設計時支援534
15.2 設計時元資料支援535
15.3 複雜屬性序列化539
15.4 類型轉換器539
15.5 屬性編輯器540
15.6 設計模式可用基底類介紹541
15.7 設計時對控制呈現的支援543
15.7.1 概述543
15.7.2 應用範例543
15.8 自動套用格式546
15.8.1 概述546
15.8.2 應用範例547
15.9 模板UI設計器551
15.10 智慧操作列表552
15.10.1 概述552
15.10.2 應用範例552
15.11 控件設計器區域558
15.11.1 概述558
15.11.2 應用範例558
15.12 本章總結562
第16章ASP.NET Ajax控制項開發—
客戶端563
16.1 ASP.NET Ajax框架概述563
16.2 Ajax Library對客戶端物件導向功能支援564
16.2.1 命名空間及Type和Function類別565
16.2.2 介面類型568
16.2.3 類別類型以及物件導向繼承特徵569
16.2.4 枚舉型別570
16.2.4 反射功能570
16.3 Ajax Library中的常用類型571
16.3.1 Ajax Library對JavaScript基底類型的擴充571
16.3.2 Sys.StringBuilder類別576
16.4 Ajax Library請求服務端和
WebServices 577
16.4.1 Sys.NET命名空間中的類別577
16.4.2 請求過程解析578
16.4.3 WebRequest請求範例579
16.4.4 使用代理實作Ajax呼叫服務端範例581
16.5 Ajax Library對控制項客戶端類別開發的支援584
16.5.1 客戶端控制項基成員(類別/介面) 584
16.5.2 ASP.NET Ajax控制項客戶端生命週期589
16.6 用戶端控制項範例應用592
16.7 調試和追蹤603
16.8 本章總結605
第17章ASP.NET Ajax控制項開發—
服務端606
17.1 ASP.NET Ajax伺服器控制項概述606
17.2 Ajax伺服器控制項607
17.2.1 Ajax伺服器控制項607
17.2.2 ASP.NET Ajax擴充程式控制項612
17.3 ASP.NET Ajax對伺服器控制項支援的基底類別612
17.3.1 Ajax控制項支援的基類612
17.3.2 Ajax控制項應用範例623
17.4 本章總結636
附錄A .NET 3.5技術教程系列—
Collection/ASP.NET Ajax/ SilverLight/JQuery 646
展開