注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計.NET精通ASP.NET MVC 3框架(第3版)

精通ASP.NET MVC 3框架(第3版)

精通ASP.NET MVC 3框架(第3版)

定 價:¥99.00

作 者: (美)Adam Freeman Steven Standerson 著,林逸,李萍 譯
出版社: 人民郵電出版社
叢編項:
標 簽: ASP 程序設計 計算機/網(wǎng)絡

ISBN: 9787115302120 出版時間: 2013-05-01 包裝: 平裝
開本: 16開 頁數(shù): 632 字數(shù):  

內容簡介

  《精通ASP.NET MVC 3框架(第3版)》系統(tǒng)地介紹了ASP.NET MVC方方面面的技術。全書語言流暢,說理透徹且示例翔實,并為軟件開發(fā)人員探究ASP.NET MVC奧秘提供了無盡的線索,是系統(tǒng)學習ASP.NET MVC開發(fā)技術的一本不可多得的好書?!毒ˋSP.NET MVC 3框架(第3版)》分為3部分共23章,第一部分(第1~9章)系統(tǒng)介紹了ASP.NET MVC的背景知識、基本思想和基本概念,并以一個實用的應用程序為例,詳細介紹了MVC各個部分的基本實現(xiàn)方法和思想。第二部分(第10~20章)對MVC相關的主要技術分別作了詳細的描述。第三部分(第21~23章)介紹了與MVC相關的一些外圍技術,包括系統(tǒng)安全性、認證與授權,以及應用程序部署等?!毒ˋSP.NET MVC 3框架(第3版)》適合希望采用ASP.NET MVC技術從事Web應用程序開發(fā)的人員閱讀,或作為大專院校教授ASP.NET MVC開發(fā)技術的教材,也可供從事軟件設計與開發(fā)的相關技術人員參考。

作者簡介

  Adam Freeman:是一位經(jīng)驗豐富的IT專家,曾在一系列公司擔任高級職務。最后的職務是一家全球性銀行的首席技術官和首席運營官?,F(xiàn)已退休,目前正把他的時間用于寫作和鐵人三項訓練。這是他的第11部關于編程的圖書,也是第9部關于.NET的技術書籍。Steven Sanderson:就職于微軟公司,是“Web平臺與工具”團隊的項目經(jīng)理,致力于保證微軟的Web技術對開發(fā)者盡可能有用。他既具備在新生的創(chuàng)業(yè)公司實踐的經(jīng)驗、也具備在跨國公司從事Web開發(fā)的人生經(jīng)歷,也是相關主題的撰稿人和發(fā)言人。工作之余,他也在http://github.com/SteveSanderson上從事開源項目的開發(fā)和維護。

圖書目錄

目 錄

第1部分 ASP.NET MVC 3簡介

第1章 設計思路 2
1.1 Web開發(fā)簡史 2
1.1.1 傳統(tǒng)的ASP.NET Web Form 3
1.1.2 ASP.NET Web Form表單的問題在哪里 3
1.2 當今的Web開發(fā) 4
1.2.1 Web標準與REST 4
1.2.2 敏捷與測試驅動開發(fā) 5
1.2.3 Ruby on Rails 5
1.2.4 Sinatra 6
1.2.5 Node.js 6
1.3 ASP.NET MVC的主要優(yōu)勢 7
1.3.1 MVC架構 7
1.3.2 可擴展性 7
1.3.3 在HTML及HTTP上的嚴密控制 8
1.3.4 可測試性 8
1.3.5 強大的路由系統(tǒng) 9
1.3.6 建立在ASP.NET平臺的精華之上 9
1.3.7 現(xiàn)代API 10
1.3.8 ASP.NET MVC是開源的 10
1.4 誰該使用ASP.NET MVC 10
1.4.1 與ASP.NET Web Form的比較 11
1.4.2 從Web Form遷移到MVC 11
1.4.3 與Ruby on Rails的比較 11
1.4.4 與MonoRail的比較 12
1.5 ASP.NET MVC 3的新特性 12
1.6 小結 12

第2章 準備工作 13
2.1 準備工作站 13
2.1.1 安裝Visual Studio 2010 13
2.1.2 安裝基本軟件 14
2.1.3 安裝可選組件 15
2.1.4 MVC框架源代碼 16
2.1.5 IIS Express 16
2.1.6 SQL Server 2008 R2 Management Studio Express 16
2.2 準備服務器 16
2.2.1 啟用Web服務器角色 17
2.2.2 安裝其他組件 18
2.2.3 設置Web部署 19
2.2.4 獲取更多信息 21
2.3 小結 21

第3章 第一個MVC應用程序 22
3.1 創(chuàng)建ASP.NET MVC新項目 22
3.1.1 添加第一個控制器 24
3.1.2 理解路由 25
3.2 渲染W(wǎng)eb頁面 26
3.2.1 創(chuàng)建并渲染一個視圖 26
3.2.2 添加動態(tài)輸出 28
3.3 創(chuàng)建一個簡單的數(shù)據(jù)錄入應用程序 29
3.3.1 設置場景 30
3.3.2 設計一個數(shù)據(jù)模型 31
3.3.3 添加模型類 31
3.3.4 鏈接動作方法 31
3.3.5 創(chuàng)建動作方法 32
3.3.6 添加一個強類型視圖 33
3.3.7 建立表單 34
3.3.8 處理表單 36
3.3.9 使用模型綁定 37
3.3.10 渲染其他視圖 38
3.3.11 添加驗證 39
3.3.12 高亮無效字段 41
3.3.13 完成示例 42
3.4 小結 43

第4章 MVC模式 44
4.1 MVC簡史 44
4.2 理解MVC模式 44
4.2.1 理解域模型 45
4.2.2 MVC的ASP.NET實現(xiàn) 46
4.2.3 MVC與其他模式比較 46
4.2.4 理解“智能UI”模式 46
4.2.5 理解MVC的變異 48
4.3 運用域驅動開發(fā)(DDD) 49
4.3.1 模擬一個例子域 50
4.3.2 通用語言 50
4.3.3 聚合與簡化 51
4.3.4 定義存儲庫 53
4.4 建立松耦合組件 53
4.4.1 使用依賴性注入 54
4.4.2 一個MVC專用的依賴性注入示例 56
4.4.3 使用依賴性注入容器 57
4.5 自動測試初步 57
4.5.1 理解單元測試 58
4.5.2 使用測試驅動開發(fā)及“紅—綠—重構”工作流 60
4.5.3 理解集成測試 65
4.6 小結 66

第5章 基本語言特性 67
5.1 C#基本特性 67
5.1.1 使用自動實現(xiàn)的屬性 67
5.1.2 使用對象與集合初始化器 70
5.1.3 使用擴展方法 71
5.1.4 對接口運用擴展方法 73
5.1.5 創(chuàng)建過濾擴展方法 75
5.1.6 使用lambda表達式 76
5.1.7 使用自動類型接口 78
5.1.8 使用匿名類型 78
5.1.9 執(zhí)行語言集成查詢 79
5.1.10 理解延遲LINQ查詢 83
5.1.11 反復使用延遲查詢 84
5.2 理解Razor語法 86
5.2.1 創(chuàng)建項目 86
5.2.2 考察基本的Razor視圖 88
5.3 小結 95

第6章 MVC基本工具 96
6.1 使用Ninject 96
6.1.1 創(chuàng)建項目 98
6.1.2 Ninject入門 99
6.1.3 創(chuàng)建依賴性鏈 100
6.1.4 指定屬性與參數(shù)值 102
6.1.5 使用自身綁定 103
6.1.6 綁定到派生類型 104
6.1.7 使用條件綁定 105
6.2 將Ninject運用于APS.NET MVC 106
6.3 Visual Studio的單元測試 108
6.3.1 創(chuàng)建項目 108
6.3.2 創(chuàng)建單元測試 110
6.3.3 運行單元測試(并失敗) 114
6.3.4 實現(xiàn)特性 114
6.4 使用Moq 115
6.4.1 將Moq添加到Visual Studio項目 116
6.4.2 用Moq創(chuàng)建模仿 116
6.4.3 使用Moq的單元測試 118
6.4.4 用Moq作校驗 120
6.5 小結 120

第7章 SportsStore:一個真實的應用程序 121
7.1 開始 122
7.1.1 創(chuàng)建Visual Studio解決方案和項目 122
7.1.2 添加引用 123
7.1.3 建立DI容器 124
7.1.4 運行應用程序 125
7.2 從域模型開始 126
7.2.1 創(chuàng)建抽象存儲庫 127
7.2.2 制作模仿存儲庫 127
7.3 顯示產(chǎn)品列表 128
7.3.1 添加控制器 128
7.3.2 添加視圖 129
7.3.3 設置默認路由 130
7.3.4 運行應用程序 131
7.4 準備數(shù)據(jù)庫 131
7.4.1 創(chuàng)建數(shù)據(jù)庫 132
7.4.2 定義數(shù)據(jù)庫方案 132
7.4.3 向數(shù)據(jù)庫添加數(shù)據(jù) 133
7.4.4 創(chuàng)建實體框架上下文 134
7.4.5 創(chuàng)建Product存儲庫 135
7.5 添加分頁 136
7.5.1 顯示頁面鏈接 138
7.5.2 改進URL 145
7.6 設置內容樣式 146
7.6.1 定義布局中的公用內容 146
7.6.2 添加CSS規(guī)則 147
7.6.3 創(chuàng)建分部視圖 148
7.7 小結 150

第8章 SportsStore:導航與購物車 151
8.1 添加導航控件 151
8.1.1 過濾產(chǎn)品列表 151
8.1.2 調整URL方案 154
8.1.3 建立分類導航菜單 156
8.1.4 修正頁面計數(shù) 163
8.2 建立購物車 165
8.2.1 定義購物車實體 165
8.2.2 添加“Add to Cart(加入購物車)”按鈕 169
8.2.3 實現(xiàn)購物車控制器 170
8.2.4 顯示購物車內容 172
8.3 使用模型綁定 174
8.4 完成購物車 179
8.4.1 刪除購物車的條目 179
8.4.2 添加購物車摘要 180
8.5 遞交訂單 182
8.5.1 擴充域模型 182
8.5.2 添加結算過程 183
8.5.3 實現(xiàn)訂單處理器 186
8.5.4 注冊接口實現(xiàn) 189
8.5.5 完成購物車控制器 189
8.5.6 顯示驗證錯誤 193
8.5.7 顯示致謝頁面 193
8.6 小結 195

第9章 SportsStore:管理 196
9.1 添加分類管理 196
9.1.1 創(chuàng)建CRUD控制器 196
9.1.2 渲染存儲庫中的產(chǎn)品 198
9.1.3 創(chuàng)建新的布局 199
9.1.4 實現(xiàn)List視圖 201
9.1.5 編輯產(chǎn)品 204
9.1.6 創(chuàng)建新產(chǎn)品 216
9.1.7 刪除產(chǎn)品 217
9.2 使管理特性安全 220
9.2.1 建立表單認證 220
9.2.2 運用過濾器進行授權 221
9.2.3 創(chuàng)建認證提供器 222
9.2.4 創(chuàng)建Account控制器 223
9.2.5 創(chuàng)建視圖 225
9.3 圖像上傳 228
9.3.1 擴展數(shù)據(jù)庫 228
9.3.2 增強域模型 229
9.3.3 創(chuàng)建Upload用戶界面元素 230
9.3.4 將圖像保存到數(shù)據(jù)庫 231
9.3.5 實現(xiàn)GetImage動作方法 232
9.3.6 顯示產(chǎn)品圖像 234
9.4 小結 235

第2部分 ASP.NET MVC 3細節(jié)

第10章 MVC項目綜述 238
10.1 使用Visual Studio的MVC項目 238
10.1.1 使用Internet和Intranet應用程序控制器 241
10.1.2 理解MVC約定 241
10.2 調試MVC應用程序 243
10.2.1 創(chuàng)建項目 243
10.2.2 運行Visual Studio調試器 244
10.2.3 引發(fā)Visual Studio調試器中斷 245
10.2.4 使用編輯并繼續(xù) 248
10.3 項目范圍的依賴性注入 251
10.4 小結 253

第11章 URL、路由與區(qū)域 254
11.1 路由系統(tǒng)介紹 254
11.1.1 創(chuàng)建路由項目 255
11.1.2 URL模式介紹 256
11.1.3 創(chuàng)建并注冊一條簡單路由 258
11.1.4 定義默認值 262
11.1.5 使用靜態(tài)URL片段 263
11.1.6 定義自定義片段變量 266
11.1.7 定義可選URL片段 268
11.1.8 定義可變長路由 269
11.1.9 按命名空間區(qū)分控制器優(yōu)先順序 271
11.1.10 約束路由 273
11.1.11 對磁盤文件的請求進行路由 277
11.1.12 繞過路由系統(tǒng) 279
11.2 生成輸出URL 280
11.2.1 準備項目 281
11.2.2 在視圖中生成輸出URL 281
11.2.3 在動作方法中生成輸出URL 287
11.2.4 根據(jù)特定路由生成URL 288
11.3 定制路由系統(tǒng) 289
11.3.1 創(chuàng)建一個自定義的RouteBase實現(xiàn) 289
11.3.2 創(chuàng)建自定義路由處理程序 293
11.4 使用區(qū)域 294
11.4.1 創(chuàng)建區(qū)域 294
11.4.2 填充區(qū)域 296
11.4.3 解析不明確的控制器問題 297
11.4.4 生成對區(qū)域動作的鏈接 298
11.5 URL方案最佳實踐 299
11.5.1 使URL整潔和人性化 299
11.5.2 GET和POST:選用正確的一個 300
11.6 小結 301

第12章 控制器與動作 302
12.1 控制器介紹 302
12.1.1 準備項目 302
12.1.2 用IController創(chuàng)建控制器 302
12.1.3 創(chuàng)建派生于Controller類的控制器 303
12.2 接收輸入 305
12.2.1 通過上下文對象獲取數(shù)據(jù) 305
12.2.2 使用動作方法參數(shù) 306
12.3 產(chǎn)生輸出 308
12.3.1 理解動作結果 310
12.3.2 通過渲染視圖返回HTML 313
12.3.3 把數(shù)據(jù)從動作方法傳遞給視圖 317
12.3.4 執(zhí)行重定向 321
12.3.5 返回文本數(shù)據(jù) 325
12.3.6 返回XML數(shù)據(jù) 327
12.3.7 返回JSON數(shù)據(jù) 328
12.3.8 返回文件及二進制數(shù)據(jù) 328
12.3.9 返回錯誤及HTTP代碼 331
12.3.10 創(chuàng)建自定義動作結果 332
12.4 小結 335

第13章 過濾器 336
13.1 使用過濾器 336
13.1.1 過濾器的四種基本類型 338
13.1.2 將過濾器應用于控制器和動作方法 338
13.1.3 使用授權過濾器 339
13.1.4 使用異常過濾器 345
13.1.5 使用動作和結果過濾器 348
13.1.6 使用其他過濾器特性 353
13.1.7 使用內建過濾器 358
13.2 小結 361

第14章 控制器可擴展性 362
14.1 請求處理管道組件 362
14.2 創(chuàng)建控制器工廠 362
14.2.1 定義自定義控制器工廠 363
14.2.2 注冊自定義控制器工廠 365
14.3 使用內建的控制器工廠 365
14.3.1 命名空間優(yōu)先排序 366
14.3.2 定制DefaultControllerFactory的控制器創(chuàng)建 366
14.4 創(chuàng)建自定義動作調用器 368
14.5 使用內建的動作調用器 370
14.5.1 使用自定義動作名 371
14.5.2 動作方法選擇 372
14.5.3 用動作方法選擇器支持REST服務 375
14.6 用特殊控制器改善性能 377
14.6.1 使用無會話控制器 378
14.6.2 使用異步控制器 380
14.7 小結 388

第15章 視圖 389
15.1 創(chuàng)建自定義視圖引擎 389
15.1.1 創(chuàng)建自定義IView 391
15.1.2 創(chuàng)建IViewEngine實現(xiàn) 392
15.1.3 注冊自定義視圖引擎 393
15.2 使用Razor引擎 395
15.2.1 理解Razor視圖渲染 395
15.2.2 對Razor視圖添加依賴性注入 397
15.2.3 配置視圖搜索位置 398
15.3 對Razor視圖添加動態(tài)內容 400
15.4 使用HTML輔助器 405
15.4.1 創(chuàng)建內聯(lián)的HTML輔助器 406
15.4.2 創(chuàng)建外部輔助器方法 407
15.4.3 使用內建的HTML輔助器 408
15.5 使用分段 421
15.5.1 對分段進行檢測 423
15.5.2 渲染可選分段 424
15.6 使用分部視圖 424
15.6.1 創(chuàng)建分部視圖 424
15.6.2 使用強類型分部視圖 425
15.7 使用子動作 427
15.7.1 創(chuàng)建子動作 427
15.7.2 渲染子動作 428
15.8 小結 428

第16章 模型模板 429
16.1 使用模板視圖輔助器 429
16.1.1 設置生成HTML的樣式 433
16.1.2 使用模型元數(shù)據(jù) 434
16.1.3 使用復合類型參數(shù) 441
16.2 定制模板視圖輔助器系統(tǒng) 442
16.2.1 創(chuàng)建自定義編輯模板 442
16.2.2 創(chuàng)建自定義顯示模板 445
16.2.3 創(chuàng)建泛型模板 446
16.2.4 替換內建模板 446
16.2.5 使用ViewData.TemplateInfo屬性 447
16.2.6 把額外元數(shù)據(jù)傳遞給模板 449
16.3 理解元數(shù)據(jù)提供器系統(tǒng) 450
16.3.1 創(chuàng)建自定義模型元數(shù)據(jù)提供器 451
16.3.2 定制數(shù)據(jù)注解模型元數(shù)據(jù)提供器 453
16.4 小結 454

第17章 模型綁定 455
17.1 理解模型綁定 455
17.2 使用默認模型綁定器 457
17.2.1 綁定簡單類型 458
17.2.2 綁定復合類型 459
17.2.3 綁定到數(shù)組與集合 462
17.3 手工調用模型綁定 465
17.3.1 限制綁定到特定數(shù)據(jù)源 466
17.3.2 處理綁定錯誤 467
17.4 使用模型綁定接收文件上傳 468
17.5 自定義模型綁定系統(tǒng) 469
17.5.1 創(chuàng)建自定義的值提供器 469
17.5.2 創(chuàng)建依賴性感知的模型綁定器 471
17.5.3 創(chuàng)建自定義模型綁定器 472
17.5.4 創(chuàng)建模型綁定器提供器 474
17.5.5 使用ModelBinder注解屬性 475
17.6 小結 476

第18章 模型驗證 477
18.1 創(chuàng)建項目 477
18.2 明確地驗證模型 479
18.3 顯示驗證消息 481
18.4 使用其他驗證技術 485
18.4.1 模型綁定器中執(zhí)行驗證 485
18.4.2 用元數(shù)據(jù)指定驗證規(guī)則 488
18.4.3 定義自驗證模型 492
18.4.4 創(chuàng)建自定義驗證提供器 493
18.5 執(zhí)行客戶端驗證 496
18.5.1 啟用和禁用客戶端驗證 497
18.5.2 使用客戶端驗證 500
18.5.3 理解客戶端驗證機制 502
18.5.4 自定義客戶端驗證 503
18.6 執(zhí)行遠程驗證 509
18.7 小結 511

第19章 非唐突Ajax 512
19.1 使用MVC的非唐突Ajax 512
19.1.1 創(chuàng)建項目 512
19.1.2 啟用和禁用非唐突Ajax 515
19.1.3 使用非唐突Ajax表單 516
19.1.4 理解非唐突Ajax如何工作 517
19.2 設置Ajax選項 518
19.2.1 確保優(yōu)雅降級 518
19.2.2 在Ajax請求期間給用戶提供反饋 520
19.2.3 請求之前對用戶進行提示 521
19.3 創(chuàng)建Ajax鏈接 522
19.4 使用Ajax回調 524
19.5 使用JSON 527
19.5.1 對控制器添加JSON支持 528
19.5.2 在瀏覽器中處理JSON 529
19.5.3 在動作方法中檢測Ajax請求 530
19.5.4 接收JSON數(shù)據(jù) 531
19.6 小結 533

第20章 jQuery 534
20.1 創(chuàng)建項目 534
20.2 引用jQuery 536
20.3 編寫jQuery代碼 538
20.4 jQuery基本理論 541
20.4.1 理解jQuery選擇器 542
20.4.2 使用jQuery過濾器 544
20.4.3 理解jQuery方法 547
20.4.4 等待DOM 547
20.4.5 使用jQuery的CSS方法 548
20.4.6 使用DOM 551
20.5 使用jQuery事件 554
20.6 使用jQuery視覺效果 555
20.7 使用jQuery UI 556
20.7.1 引用jQuery UI 557
20.7.2 制作更好的按鈕 557
20.7.3 使用Silder滑塊 559
20.8 小結 561

第3部分 交付已完成的ASP.NET MVC 3項目

第21章 安全性與脆弱性 564
21.1 所有輸入都可以偽造 564
偽造HTTP請求 566
21.2 跨網(wǎng)站腳本與HTML注入 567
21.2.1 理解XSS漏洞 568
21.2.2 Razor的HTML編碼 569
21.2.3 請求驗證 570
21.2.4 JavaScript字符串編碼與XSS 572
21.3 會話劫持 574
21.3.1 通過客戶端IP地址檢查進行防護 575
21.3.2 通過在cookie中設置HttpOnly標志進行防護 575
21.4 跨網(wǎng)站請求偽造 576
21.4.1 攻擊 577
21.4.2 防護 577
21.4.3 用Antiforgery輔助器阻止CSRF 578
21.5 SQL注入 579
21.5.1 攻擊 580
21.5.2 用參數(shù)化查詢進行防護 580
21.5.3 用對象關系映射進行防護 581
21.6 安全使用MVC框架 581
21.6.1 不要意外暴露動作方法 581
21.6.2 不要允許模型綁定修改敏感屬性 582
21.7 小結 582

第22章 認證與授權 583
22.1 使用Windows認證 583
22.2 使用表單認證 585
22.2.1 建立表單認證 586
22.2.2 使用cookieless表單認證 588
22.3 使用成員、角色和簡檔 589
22.3.1 建立并使用成員 590
22.3.2 建立并使用角色 598
22.3.3 建立并使用簡檔 601
22.4 為什么不應該使用基于URL的授權 606
22.5 小結 608

第23章 部署 609
23.1 準備要部署的應用程序 609
23.1.1 部署前檢測視圖錯誤 609
23.1.2 配置動態(tài)頁面編譯 610
23.1.3 為bin部署做準備 611
23.1.4 準備用于轉換的Web.config文件 612
23.2 理解轉換結構 613
23.2.1 插入配置元素 615
23.2.2 刪除配置元素 617
23.2.3 設置和刪除屬性 618
23.2.4 替換元素 619
23.2.5 使用Locator屬性 620
23.2.6 準備數(shù)據(jù)庫部署準備項目 622
23.3 理解IIS基本原理 624
23.3.1 理解Web網(wǎng)站 624
23.3.2 理解虛擬目錄 625
23.3.3 理解應用程序池 625
23.3.4 將Web網(wǎng)站綁定到主機名、IP地址及端口 625
23.4 為部署準備服務器 626
23.5 部署應用程序 627
23.5.1 通過復制文件部署應用程序 627
23.5.2 使用部署包 629
23.5.3 使用一鍵發(fā)布 631
23.6 小結 632

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號