精通ASP.NET MVC 3框架(第三版) ( 簡體 字) |
作者:[美] Adam Freeman Steven Standerson | 類別:1. -> 程式設計 -> .NET -> ASP.NET |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 35352 詢問書籍請說出此書號!【有庫存】 NT售價: 495 元 |
出版日:5/1/2013 |
頁數:632 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115302120 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:《精通ASP.NET MVC 3框架(第三版)》系統地介紹了ASP.NET MVC方方面面的技術。全書語言流暢,說理透徹且示例翔實,并為軟件開發人員探究ASP.NET MVC奧秘提供了無盡的線索,是系統學習ASP.NET MVC開發技術的一本不可多得的好書。 《精通ASP.NET MVC 3框架(第三版)》分為3部分共23章,第一部分(第1∼9章)系統介紹了ASP.NET MVC的背景知識、基本思想和基本概念,并以一個實用的應用程序為例,詳細介紹了MVC各個部分的基本實現方法和思想。第二部分(第10∼20章)對MVC相關的主要技術分別作了詳細的描述。第三部分(第21∼23章)介紹了與MVC相關的一些外圍技術,包括系統安全性、認證與授權,以及應用程序部署等。 《精通ASP.NET MVC 3框架(第三版)》適合希望采用ASP.NET MVC技術從事Web應用程序開發的人員閱讀,或作為大專院校教授ASP.NET MVC開發技術的教材,也可供從事軟件設計與開發的相關技術人員參考。 |
目錄:第1部分 ASP.NET MVC 3簡介
第1章 設計思路 2 1.1 Web開發簡史 2 1.1.1 傳統的ASP.NET Web Form 3 1.1.2 ASP.NET Web Form表單的問題在哪里 3 1.2 當今的Web開發 4 1.2.1 Web標準與REST 4 1.2.2 敏捷與測試驅動開發 5 1.2.3 Ruby on Rails 5 1.2.4 Sinatra 6 1.2.5 Node.js 6 1.3 ASP.NET MVC的主要優勢 7 1.3.1 MVC架構 7 1.3.2 可擴展性 7 1.3.3 在HTML及HTTP上的嚴密控制 8 1.3.4 可測試性 8 1.3.5 強大的路由系統 9 1.3.6 建立在ASP.NET平臺的精華之上 9 1.3.7 現代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 創建ASP.NET MVC新項目 22 3.1.1 添加第一個控制器 24 3.1.2 理解路由 25 3.2 渲染Web頁面 26 3.2.1 創建并渲染一個視圖 26 3.2.2 添加動態輸出 28 3.3 創建一個簡單的數據錄入應用程序 29 3.3.1 設置場景 30 3.3.2 設計一個數據模型 31 3.3.3 添加模型類 31 3.3.4 鏈接動作方法 31 3.3.5 創建動作方法 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實現 46 4.2.3 MVC與其他模式比較 46 4.2.4 理解“智能UI”模式 46 4.2.5 理解MVC的變異 48 4.3 運用域驅動開發(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 使用測試驅動開發及“紅—綠—重構”工作流 60 4.5.3 理解集成測試 65 4.6 小結 66
第5章 基本語言特性 67 5.1 C#基本特性 67 5.1.1 使用自動實現的屬性 67 5.1.2 使用對象與集合初始化器 70 5.1.3 使用擴展方法 71 5.1.4 對接口運用擴展方法 73 5.1.5 創建過濾擴展方法 75 5.1.6 使用lambda表達式 76 5.1.7 使用自動類型接口 78 5.1.8 使用匿名類型 78 5.1.9 執行語言集成查詢 79 5.1.10 理解延遲LINQ查詢 83 5.1.11 反復使用延遲查詢 84 5.2 理解Razor語法 86 5.2.1 創建項目 86 5.2.2 考察基本的Razor視圖 88 5.3 小結 95
第6章 MVC基本工具 96 6.1 使用Ninject 96 6.1.1 創建項目 98 6.1.2 Ninject入門 99 6.1.3 創建依賴性鏈 100 6.1.4 指定屬性與參數值 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 創建項目 108 6.3.2 創建單元測試 110 6.3.3 運行單元測試(并失敗) 114 6.3.4 實現特性 114 6.4 使用Moq 115 6.4.1 將Moq添加到Visual Studio項目 116 6.4.2 用Moq創建模仿 116 6.4.3 使用Moq的單元測試 118 6.4.4 用Moq作校驗 120 6.5 小結 120
第7章 SportsStore:一個真實的應用程序 121 7.1 開始 122 7.1.1 創建Visual Studio解決方案和項目 122 7.1.2 添加引用 123 7.1.3 建立DI容器 124 7.1.4 運行應用程序 125 7.2 從域模型開始 126 7.2.1 創建抽象存儲庫 127 7.2.2 制作模仿存儲庫 127 7.3 顯示產品列表 128 7.3.1 添加控制器 128 7.3.2 添加視圖 129 7.3.3 設置默認路由 130 7.3.4 運行應用程序 131 7.4 準備數據庫 131 7.4.1 創建數據庫 132 7.4.2 定義數據庫方案 132 7.4.3 向數據庫添加數據 133 7.4.4 創建實體框架上下文 134 7.4.5 創建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規則 147 7.6.3 創建分部視圖 148 7.7 小結 150
第8章 SportsStore:導航與購物車 151 8.1 添加導航控件 151 8.1.1 過濾產品列表 151 8.1.2 調整URL方案 154 8.1.3 建立分類導航菜單 156 8.1.4 修正頁面計數 163 8.2 建立購物車 165 8.2.1 定義購物車實體 165 8.2.2 添加“Add to Cart(加入購物車)”按鈕 169 8.2.3 實現購物車控制器 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 實現訂單處理器 186 8.5.4 注冊接口實現 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 創建CRUD控制器 196 9.1.2 渲染存儲庫中的產品 198 9.1.3 創建新的布局 199 9.1.4 實現List視圖 201 9.1.5 編輯產品 204 9.1.6 創建新產品 216 9.1.7 刪除產品 217 9.2 使管理特性安全 220 9.2.1 建立表單認證 220 9.2.2 運用過濾器進行授權 221 9.2.3 創建認證提供器 222 9.2.4 創建Account控制器 223 9.2.5 創建視圖 225 9.3 圖像上傳 228 9.3.1 擴展數據庫 228 9.3.2 增強域模型 229 9.3.3 創建Upload用戶界面元素 230 9.3.4 將圖像保存到數據庫 231 9.3.5 實現GetImage動作方法 232 9.3.6 顯示產品圖像 234 9.4 小結 235
第2部分 ASP.NET MVC 3細節
第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 創建項目 243 10.2.2 運行Visual Studio調試器 244 10.2.3 引發Visual Studio調試器中斷 245 10.2.4 使用編輯并繼續 248 10.3 項目范圍的依賴性注入 251 10.4 小結 253
第11章 URL、路由與區域 254 11.1 路由系統介紹 254 11.1.1 創建路由項目 255 11.1.2 URL模式介紹 256 11.1.3 創建并注冊一條簡單路由 258 11.1.4 定義默認值 262 11.1.5 使用靜態URL片段 263 11.1.6 定義自定義片段變量 266 11.1.7 定義可選URL片段 268 11.1.8 定義可變長路由 269 11.1.9 按命名空間區分控制器優先順序 271 11.1.10 約束路由 273 11.1.11 對磁盤文件的請求進行路由 277 11.1.12 繞過路由系統 279 11.2 生成輸出URL 280 11.2.1 準備項目 281 11.2.2 在視圖中生成輸出URL 281 11.2.3 在動作方法中生成輸出URL 287 11.2.4 根據特定路由生成URL 288 11.3 定制路由系統 289 11.3.1 創建一個自定義的RouteBase實現 289 11.3.2 創建自定義路由處理程序 293 11.4 使用區域 294 11.4.1 創建區域 294 11.4.2 填充區域 296 11.4.3 解析不明確的控制器問題 297 11.4.4 生成對區域動作的鏈接 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創建控制器 302 12.1.3 創建派生于Controller類的控制器 303 12.2 接收輸入 305 12.2.1 通過上下文對象獲取數據 305 12.2.2 使用動作方法參數 306 12.3 產生輸出 308 12.3.1 理解動作結果 310 12.3.2 通過渲染視圖返回HTML 313 12.3.3 把數據從動作方法傳遞給視圖 317 12.3.4 執行重定向 321 12.3.5 返回文本數據 325 12.3.6 返回XML數據 327 12.3.7 返回JSON數據 328 12.3.8 返回文件及二進制數據 328 12.3.9 返回錯誤及HTTP代碼 331 12.3.10 創建自定義動作結果 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 創建控制器工廠 362 14.2.1 定義自定義控制器工廠 363 14.2.2 注冊自定義控制器工廠 365 14.3 使用內建的控制器工廠 365 14.3.1 命名空間優先排序 366 14.3.2 定制DefaultControllerFactory的控制器創建 366 14.4 創建自定義動作調用器 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 創建自定義視圖引擎 389 15.1.1 創建自定義IView 391 15.1.2 創建IViewEngine實現 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視圖添加動態內容 400 15.4 使用HTML輔助器 405 15.4.1 創建內聯的HTML輔助器 406 15.4.2 創建外部輔助器方法 407 15.4.3 使用內建的HTML輔助器 408 15.5 使用分段 421 15.5.1 對分段進行檢測 423 15.5.2 渲染可選分段 424 15.6 使用分部視圖 424 15.6.1 創建分部視圖 424 15.6.2 使用強類型分部視圖 425 15.7 使用子動作 427 15.7.1 創建子動作 427 15.7.2 渲染子動作 428 15.8 小結 428
第16章 模型模板 429 16.1 使用模板視圖輔助器 429 16.1.1 設置生成HTML的樣式 433 16.1.2 使用模型元數據 434 16.1.3 使用復合類型參數 441 16.2 定制模板視圖輔助器系統 442 16.2.1 創建自定義編輯模板 442 16.2.2 創建自定義顯示模板 445 16.2.3 創建泛型模板 446 16.2.4 替換內建模板 446 16.2.5 使用ViewData.TemplateInfo屬性 447 16.2.6 把額外元數據傳遞給模板 449 16.3 理解元數據提供器系統 450 16.3.1 創建自定義模型元數據提供器 451 16.3.2 定制數據注解模型元數據提供器 453 16.4 小結 454
第17章 模型綁定 455 17.1 理解模型綁定 455 17.2 使用默認模型綁定器 457 17.2.1 綁定簡單類型 458 17.2.2 綁定復合類型 459 17.2.3 綁定到數組與集合 462 17.3 手工調用模型綁定 465 17.3.1 限制綁定到特定數據源 466 17.3.2 處理綁定錯誤 467 17.4 使用模型綁定接收文件上傳 468 17.5 自定義模型綁定系統 469 17.5.1 創建自定義的值提供器 469 17.5.2 創建依賴性感知的模型綁定器 471 17.5.3 創建自定義模型綁定器 472 17.5.4 創建模型綁定器提供器 474 17.5.5 使用ModelBinder注解屬性 475 17.6 小結 476
第18章 模型驗證 477 18.1 創建項目 477 18.2 明確地驗證模型 479 18.3 顯示驗證消息 481 18.4 使用其他驗證技術 485 18.4.1 模型綁定器中執行驗證 485 18.4.2 用元數據指定驗證規則 488 18.4.3 定義自驗證模型 492 18.4.4 創建自定義驗證提供器 493 18.5 執行客戶端驗證 496 18.5.1 啟用和禁用客戶端驗證 497 18.5.2 使用客戶端驗證 500 18.5.3 理解客戶端驗證機制 502 18.5.4 自定義客戶端驗證 503 18.6 執行遠程驗證 509 18.7 小結 511
第19章 非唐突Ajax 512 19.1 使用MVC的非唐突Ajax 512 19.1.1 創建項目 512 19.1.2 啟用和禁用非唐突Ajax 515 19.1.3 使用非唐突Ajax表單 516 19.1.4 理解非唐突Ajax如何工作 517 19.2 設置Ajax選項 518 19.2.1 確保優雅降級 518 19.2.2 在Ajax請求期間給用戶提供反饋 520 19.2.3 請求之前對用戶進行提示 521 19.3 創建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數據 531 19.6 小結 533
第20章 jQuery 534 20.1 創建項目 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 跨網站腳本與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 跨網站請求偽造 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 用參數化查詢進行防護 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 配置動態頁面編譯 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 準備數據庫部署準備項目 622 23.3 理解IIS基本原理 624 23.3.1 理解Web網站 624 23.3.2 理解虛擬目錄 625 23.3.3 理解應用程序池 625 23.3.4 將Web網站綁定到主機名、IP地址及端口 625 23.4 為部署準備服務器 626 23.5 部署應用程序 627 23.5.1 通過復制文件部署應用程序 627 23.5.2 使用部署包 629 23.5.3 使用一鍵發布 631 23.6 小結 632 |
序: |