第1章 XML操作... 1
1.1 XML概述... 1
1.1.1 什么是XML. 1
1.1.2 XML與HTML的比較... 2
1.1.3 XML技術的用途... 3
1.2 XML文檔結構... 3
1.3 XML語法... 3
1.3.1 文檔聲明... 3
1.3.2 XML元素... 4
1.3.3 XML屬性... 4
1.3.4 注釋... 5
1.3.5 特殊字符的處理... 5
1.3.6 CDATA區... 6
1.4 ASP.NET中XML操作... 7
1.4.1 使用Visual Studio直接創建XML文檔... 7
1.4.2 以非緩存的流方式操作XML. 9
1.4.3 以XML文檔對象模型(DOM)類的方式操作XML. 13
1.4.4 DataSet與XML之間的互操作... 27
1.5 網站RSS應用... 33
1.5.1 什么是RSS. 33
1.5.2 RSS的工作過程... 33
1.5.3 RSS文檔的實例... 34
1.5.4 RSS文檔網站應用實例... 35
1.5.5 在線RSS閱讀器的實現... 39
1.6 小結... 42
1.7 習題... 43
1.8 上機實踐... 44
第2章 AJAX開發... 45
2.1 AJAX概述... 45
2.1.1 什么是AJAX 技術... 45
2.1.2 AJAX的優勢與局限性... 46
2.1.3 AJAX的適用范圍... 47
2.2 用JavaScript腳本演繹AJAX工作原理... 48
2.2.1 AJAX的運行原理... 48
2.2.2 一個簡單示例... 48
2.3 第三方AJAX框架... 52
2.4 jQuery框架下AJAX開發... 53
2.5 ASP.NET AJAX服務器控件... 55
2.5.1 ScriptManager控件... 55
2.5.2 ScriptManagerProxy控件... 59
2.5.3 UpdatePanel控件... 62
2.5.4 UpdateProgress控件... 66
2.5.5 Timer控件... 68
2.6 AJAX Control Toolkit的使用... 70
2.6.1 如何使用AJAX Control Toolkit 70
2.6.2 日期選取(CalendarExtender控件)... 72
2.6.3 密碼強度檢測(PasswordStrength控件)... 73
2.6.4 文本框自動完成輸入(AutoCompleteExtender控件)... 74
2.6.5 級聯下拉列表(CascadingDropDown控件)... 76
2.7 小結... 80
2.8 習題... 81
2.8.1 作業題... 81
2.8.2 思考題... 81
2.9 上機實踐... 81
第3章 LINQ技術... 82
3.1 LINQ基礎... 82
3.1.1 LINQ的引入... 82
3.1.2 Lambda表達式... 83
3.1.3 LINQ函數... 84
3.1.4 LINQ分類... 84
3.2 LINQ to Objects 85
3.2.1 LINQ查詢數據... 85
3.2.2 LINQ實現登錄功能... 87
3.2.3 LINQ實現銷售單查詢... 89
3.3 LINQ to SQL. 93
3.3.1 LINQ查詢數據庫表數據... 96
3.3.2 使用LINQ向數據庫插入數據... 98
3.3.3 LINQ修改數據庫中的數據... 102
3.3.4 LINQ刪除數據庫中的數據... 106
3.4 LINQ to XML. 109
3.4.1 LINQ讀取XML文件... 109
3.4.2 LINQ查詢XML元素... 110
3.4.3 LINQ添加元素到XML. 112
3.4.4 LINQ修改XML元素... 113
3.5 LINQ to DataSet 115
3.5.1 LINQ查詢DataSet數據... 115
3.5.2 LINQ排序DataSet中數據... 117
3.5.3 LINQ提取DataSet中數據... 120
3.6 小結... 123
3.7 習題... 123
3.7.1 作業題... 123
3.7.2 思考題... 124
3.8 上機實踐... 124
第4章 數據庫高級應用... 126
4.1 數據庫建模——PowerDesigner 126
4.1.1 需求模型... 127
4.1.2 業務流程模型... 128
4.1.3 概念數據模型... 131
4.1.4 邏輯數據模型... 136
4.1.5 物理數據模型... 138
4.1.6 由物理數據模型生成數據庫... 140
4.2 復雜查詢... 141
4.3 存儲過程... 144
4.4 觸發器... 150
4.5 函數... 155
4.6 數據庫級的錯誤跟蹤與調試... 160
4.7 小結... 162
4.8 習題... 163
4.9 上機實踐... 163
第5章 一致性處理... 164
5.1 一致的頁面管理... 164
5.1.1 母版頁概述... 164
5.1.2 創建母版與內容頁... 164
5.1.3 母版頁的嵌套與動態訪問... 166
5.1.4 母版頁的應用范圍與緩存... 172
5.2 菜單操作... 174
5.3 一致的數據處理... 184
5.3.1 CRUD操作... 184
5.3.2 分頁... 192
5.3.3 聯想查詢... 195
5.3.4 導出Excel 202
5.4 小結... 204
5.5 習題... 204
5.5.1 作業題... 204
5.5.2 思考題... 206
5.6 上機實踐... 206
第6章 分布式應用開發... 207
6.1 分布式簡介... 207
6.2 Web Service. 208
6.2.1 Web Service介紹... 208
6.2.2 Web Service服務器端開發... 209
6.2.3 Web Service的部署... 213
6.2.4 Web Service客戶端開發... 213
6.2.5 異步調用Web Service. 217
6.3 WCF開發... 218
6.3.1 WCF服務契約... 218
6.3.2 發布和運行WCF服務... 221
6.3.3 建立客戶端訪問WCF程序... 222
6.3.4 運行程序... 224
6.4 小結... 225
6.5 習題... 225
6.5.1 作業題... 225
6.5.2 思考題... 225
6.6 上機實踐... 225
第7章 ASP.NET安全性編程... 226
7.1 SQL注入漏洞... 226
7.1.1 SQL注入漏洞示例... 226
7.1.2 SQL注入漏洞原理... 229
7.1.3 SQL注入漏洞的防范... 230
7.1.4 含有通配符的SQL注入攻擊... 232
7.1.5 非查詢語句的SQL注入... 236
7.2 XSS漏洞... 239
7.2.1 XSS攻擊示例... 239
7.2.2 XSS攻擊的防范... 242
7.3 Cookie竊取漏洞... 243
7.3.1 Cookie名字的由來... 243
7.3.2 Cookie竊取漏洞實例... 243
7.3.3 編碼輸出函數... 244
7.3.4 HttpOnly. 245
7.4 小結... 246
7.5 習題... 246
7.5.1 作業題... 246
7.5.2 思考題... 247
7.6 上機實踐... 247
第8章 ASP.NET中的三層架構... 248
8.1 SqlHelper 248
8.1.1 SqlHelper類的實現... 248
8.1.2 SqlHelper類的使用... 250
8.2 三層架構... 252
8.2.1 三層架構及其應用... 252
8.2.2 三層架構的優缺點... 260
8.3 三層架構中的其他成員... 261
8.3.1 業務實體... 261
8.3.2 通用類庫(Common)... 262
8.3.3 DBUtility. 263
8.4 基于抽象工廠模式的三層架構... 263
8.5 三層架構的擴充... 267
8.6 小結... 268
8.7 習題... 268
8.7.1 作業題... 268
8.7.2 思考題... 269
8.8 上機實踐... 269
第9章 ASP.NET MVC框架... 270
9.1 Web Forms模式... 270
9.2 MVC模式... 271
9.3 控制器(Controller)... 274
9.3.1 動作... 274
9.3.2 動作的返回值... 276
9.3.3 新建控制器和動作... 276
9.4 路由(Routing)... 280
9.5 Razor視圖引擎... 281
9.6 模型... 283
9.7 Controller與View的數據傳遞... 285
9.7.1 ViewBag. 285
9.7.2 強類型視圖... 286
9.8 數據庫查找和添加實例... 286
9.9 HtmlHelper 289
9.9.1 ActionLink——超鏈接... 290
9.9.2 BeginForm——窗體... 290
9.9.3 TextBox——文本框... 290
9.10 數據庫刪除和修改實例... 290
9.11 小結... 295
9.12 習題... 295
9.12.1 作業題... 295
9.12.2 思考題... 295
9.13 上機實踐... 296
第10章 GDI . 297
10.1 GDI 繪圖... 297
10.1.1 DrawLine繪制直線... 297
10.1.2 DrawPolygon. 298
10.1.3 DrawString. 299
10.1.4 在圖片中添加文字... 300
10.2 驗證碼技術... 304
10.2.1 什么是驗證碼... 304
10.2.2 簡易驗證碼... 304
10.2.3 漢字驗證碼... 306
10.3 Chart控件... 308
10.3.1 Chart控件簡單示例... 308
10.3.2 數據庫與Chart控件的綁定... 311
10.3.3 餅形圖的繪制... 315
10.4 小結... 317
10.5 習題... 317
10.5.1 作業題... 317
10.5.2 思考題... 317
10.6 上機實踐... 317
第11章 水晶報表Crystal Reprorts for VS. 319
11.1 水晶報表簡介... 319
11.1.1 水晶報表的下載與安裝... 319
11.1.2 實現一個帶有水晶報表的Web頁面... 320
11.2 編輯報表... 326
11.2.1 字段... 326
11.2.2 文本對象、線條對象、框對象... 326
11.2.3 組... 326
11.2.4 公式... 327
11.2.5 參數... 331
11.2.6 排序和匯總... 334
11.3 格式化報表... 336
11.3.1 報表節... 336
11.3.2 頁面設置... 337
11.3.3 格式編輯器... 337
11.4 交叉報表... 339
11.4.1 創建交叉報表... 339
11.4.2 交叉報表專家... 344
11.5 小結... 351
11.6 習題... 351
11.6.1 作業題... 351
11.6.2 思考題... 351
11.7 上機實踐... 351
第12章 實現物聯網關鍵技術... 353
12.1 在ASP.NET頁面中讀寫RFID標簽... 353
12.1.1 ASP.NET頁面實現讀卡操作... 354
12.1.2 ASP.NET頁面實現寫卡操作... 360
12.2 在頁面中使用條碼... 365
12.2.1 一維條碼與二維條碼基本理論... 366
12.2.2 常用一維條形碼... 368
12.2.3 QR Code二維碼... 369
12.2.4 在ASP.NET頁面中使用條碼... 370
12.3 Web套打... 378
12.4 小結... 390
12.5 習題... 390
12.6 上機實踐... 390
第13章 調試、發布與優化... 392
13.1 調試錯誤與跟蹤處理... 392
13.1.1 頁面級... 392
13.1.2 應用程序級... 393
13.2 網站發布... 393
13.2.1 IIS 8.0管理器配置... 394
13.2.2 ASP.NET網站發布與部署... 398
13.2.3 應用程序和虛擬目錄... 402
13.2.4 DNS轉換... 405
13.3 高效編碼優化... 409
13.4 小結... 412
13.5 習題... 412
13.5.1 作業題... 412
13.5.2 思考題... 412
13.6 上機實踐... 412
第14章 開發綜合實例... 413
14.1 開發背景... 413
14.2 需求分析... 413
14.3 系統設計... 414
14.3.1 功能設計... 414
14.3.2 系統結構設計... 418
14.3.3 系統數據庫的設計... 419
14.4 系統實現... 421
14.4.1 開發環境介紹... 421
14.4.2 系統中使用的存儲過程介紹... 421
14.4.3 Models實體類的實現... 423
14.4.4 SqlHelper類的實現... 427
14.4.5 DAL數據訪問層的實現... 431
14.4.6 BLL業務邏輯層的實現... 437
14.4.7 表示層的實現... 440
14.4.8 三層架構之間相互引用的實現... 446
14.4.9 功能模塊的實現... 447
14.5 小結... 462
附錄 HTML特殊字符編碼對照表... 463
參考文獻..................................................................................................................... 465