《ASP.NET MVC高效構建Web應用》以目前流行的ASP.NET MVC 5、HTML和Razor為主線,全面系統(tǒng)地介紹ASP.NET MVC Web應用開發(fā)的方法,配套提供實例源碼、PPT課件與作者一對一QQ答疑服務。
《ASP.NET MVC高效構建Web應用》共13章,內容包括ASP.NET與框架概述、搭建Web開發(fā)環(huán)境、ASP.NET MVC編程基礎、Razor語法基礎、HTML輔助器、LINQ的基本使用、數(shù)據(jù)庫快速開發(fā)工具Entity Framework、服務端數(shù)據(jù)注解和驗證、模型模板、前端驗證、安全與身份驗證、音樂唱片管理系統(tǒng)開發(fā)實戰(zhàn)、一百書店系統(tǒng)開發(fā)實戰(zhàn)。
《ASP.NET MVC高效構建Web應用》既適合ASP.NET MVC Web應用開發(fā)初學者和Web應用開發(fā)人員,也適合高等院校或高職高專院校Web應用開發(fā)課程的學生。
(1)系統(tǒng)介紹ASP.NET MVC 5 Web應用程序開發(fā)的方法,知識點覆蓋全面,信息量大,例子豐富,講解細致,重點突出,適合初學者快速入門。
(2)范例和案例非常完整,尤其是最后兩章音樂唱片管理系統(tǒng)和一百書店系統(tǒng)實戰(zhàn)案例,完整重現(xiàn)Web應用開發(fā)過程,可以用于畢業(yè)設計或Web工程師完成項目的開發(fā)模板,很有參考價值。
(3)配套全書實例源碼、PPT課件與作者一對一QQ答疑服務。
感謝你拿起本書!如果你以前從來沒接觸過Web開發(fā),但又想輕松學會Web開發(fā),那么本書非常適合你。本書是學習ASP.NET MVC 5的優(yōu)選之作,融入筆者多年使用MVC框架開發(fā)國家專項項目的經(jīng)驗,以及筆者所在Web應用開發(fā)團隊的智慧。
本書特點
(1)本書內容較新。本書以目前流行的ASP.NET MVC 5、HTML和Razor為主線,選擇自帶ASP.NET MVC 5模板的VS2019(Visual Studio 2019)和VSCode(Visual Studio Code)作為開發(fā)工具,系統(tǒng)、全面地介紹ASP.NET MVC 5 Web應用程序開發(fā)的方法。
之所以選擇VS2019而不是VS2022或者更高版本的開發(fā)工具,是因為VS2019不僅與VS2022功能類似,而且支持的操作系統(tǒng)更廣,而VS2022必須在Windows 10或以上平臺才能運行,這對于廣大的使用Windows 7的開發(fā)人員來說是一個不好的消息。另外,筆者也使用過VS2022,感覺就是塊頭大,速度慢。另外,現(xiàn)在企業(yè)界主流開發(fā)工具依舊是VS2019,很多需要維護的老項目也是對VS2019的兼容性更好,升級絲滑,而對VS2022的兼容性則一般。
(2)知識點覆蓋全面,信息量大,例子豐富,講解細致,重點突出。全書基本涵蓋了ASP.NET MVC的各種編程技術。另外,為了讓讀者易理解、上手快,筆者在結構組織、知識點的選擇以及如何講解才能循序漸進并突出重點等方面進行了反復推敲、調整、增刪、組合,以更好地適合初級ASP.NET MVC Web應用開發(fā)人員學習。
(3)范例和案例完整。無論是范例還是案例(統(tǒng)稱實例),都是以理論講解 環(huán)境搭建 完整代碼及分析 運行截圖這種完善的結構進行講解,充分考慮到讀者可能會遇到的各種問題。筆者的講解細致到打開xxx.cs文件、打開xxx.cshtml文件、在文件開頭添加代碼這樣的程度,讓讀者學習起來更加輕松,不會看著書就突然產生迷路的感覺,然后只能自己一個一個步驟去實驗。尤其是最后一個購物網(wǎng)站的案例不僅實現(xiàn)了常見功能,連用戶評論的功能都實現(xiàn)了,幾乎可以用作畢業(yè)設計或Web工程師完成項目的開發(fā)模板,只需要在該案例上改改標題或業(yè)務屬性即可,因為商業(yè)網(wǎng)站的邏輯都差不多,常見的功能都被該案例包括了。
(4)學習曲線平緩。筆者力求將晦澀難懂的技術用通俗易懂的語言表達出來,并配有大量的范例和注釋來幫助理解。讀者按照本書的順序學習,不僅入門快,而且效率高。通過閱讀、理解、上機練習和調試運行,能很快掌握用ASP.NET MVC 5編寫Web應用程序的各種技術。筆者幾乎對每個知識點都配套了范例,上機運行調試,并把運行結果截圖給讀者參考。
(5)配套資料完整。本書提供了書中所有范例和案例的源程序,足足有10GB之多!此外,針對高校老師,還提供PPT教學課件。
配套資源下載與作者答疑服務
本書配套實例源碼、PPT課件與作者一對一QQ答疑服務,讀者需要使用自己的微信掃描下面二維碼獲取。如果在閱讀本書的過程中發(fā)現(xiàn)問題或有任何建議,請聯(lián)系下載資源中提供的相關電子郵箱或微信號。
適合的讀者
本書適合有志于從事ASP.NET Web開發(fā)工作的初學者和工程師,尤其適合以前沒有接觸過Web編程的開發(fā)人員。另外,由于本書講解細致,因此也特別適合用作高等院;蚋呗毟邔T盒eb應用開發(fā)課程的教材。
由于時間倉促,本書難免存在疏漏,歡迎各位讀者指評指正。凡是購買本書者,都將享受筆者一對一QQ答疑服務。筆者在圖書創(chuàng)作領域耕耘多年,并有志于發(fā)揮余熱提高中國軟件開發(fā)水平,因此很樂意幫讀者解決看書過程中的疑問。當然,筆者也非常感謝讀者能發(fā)現(xiàn)書中的問題。總之,希望每位讀者能從本書中得到知識和提高技能水平。
筆 者
2025年1月
朱文偉,名校計算機專業(yè)統(tǒng)招碩士,20多年C\C 、Java開發(fā)經(jīng)驗。主導開發(fā)過密碼、圖形、人工智能等產品。精通Linux、Windows系統(tǒng)開發(fā)及數(shù)據(jù)庫開發(fā)技術。著有圖書《Linux C與C 一線開發(fā)實踐(第2版)》
《Rust編程與項目實戰(zhàn)》《嵌入式Linux驅動開發(fā)實踐》《高性能Linux網(wǎng)絡編程核心技術揭秘》《Linux C/C 服務器開發(fā)實踐》《Qt 6.x從入門到精通》《PyQt 5從入門到精通》《Linux C與C 一線開發(fā)實踐》《Visual C 2017從入門到精通》《Windows C/C 加密解密實戰(zhàn)》《密碼學原理與Java實現(xiàn)》《OpenCV 4.5計算機視覺開發(fā)實戰(zhàn)(基于VC )》《OpenCV 4.5計算機視覺開發(fā)實戰(zhàn):基于Python》。
第 1 章 ASP.NET框架概述 1
1.1 C/S架構和B/S架構 1
1.2 網(wǎng)站開發(fā)概述 2
1.2.1 ASP.NET網(wǎng)站的運行原理 2
1.2.2 ASP.NET的服務器 2
1.2.3 網(wǎng)站開發(fā)所需技能 3
1.3 ASP.NET概述 3
1.3.1 ASP.NET的概念 4
1.3.2 ASP.NET的優(yōu)勢 4
1.3.3 ASP.NET的主流開發(fā)方式 5
1.4 ASP.NET Core概述 5
1.4.1 ASP.NET Core的優(yōu)點 5
1.4.2 ASP.NET Core和ASP.NET 4.x的比較 6
1.5 C#語言概述 6
1.6 .NET Framework框架 7
1.7 HTTP與HTML 8
1.7.1 TCP/IP通信傳輸流 8
1.7.2 HTTP 8
1.7.3 HTML 10
1.8 框架 11
1.8.1 為什么要使用框架 11
1.8.2 Web框架基礎技術 11
1.8.3 分清框架和庫 11
1.8.4 Web開發(fā)框架技術 12
1.9 常見Web框架 12
1.9.1 MVC框架模式 12
1.9.2 MVP框架模式 13
1.9.3 MVVM框架模式 14
1.9.4 Web框架的發(fā)展現(xiàn)狀 14
第 2 章 搭建Web開發(fā)環(huán)境 16
2.1 下載和安裝Visual Studio 16
2.2 第一個ASP.NET項目 19
2.3 生成和調試程序 24
2.3.1 為何要用生成 24
2.3.2 增加工具欄按鈕 26
2.3.3 單步調試ASP.NET項目 27
2.4 簡要剖析項目 30
第 3 章 ASP.NET MVC編程基礎 34
3.1 MVC概述 34
3.1.1 基本概念 34
3.1.2 MVC執(zhí)行順序 35
3.1.3 ASP.NET MVC和傳統(tǒng)ASP.NET的比較 35
3.1.4 ASP.NET MVC和WebForm的比較 35
3.2 添加新控制器 36
3.2.1 新建項目并添加控制器源文件 36
3.2.2 基于路由為方法增加一個參數(shù) 38
3.2.3 基于路由為方法增加多個參數(shù) 39
3.2.4 不改變路由為方法增加多個參數(shù) 41
3.3 添加視圖 42
3.3.1 新建項目并添加視圖文件 42
3.3.2 更改視圖和布局頁面 44
3.3.3 更改視圖標題 45
3.3.4 將數(shù)據(jù)從控制器傳遞給視圖 46
3.4 添加模型 47
3.4.1 模型的實現(xiàn)方式 47
3.4.2 新建項目并添加類 48
3.4.3 ViewData方式傳遞數(shù)據(jù)到視圖 49
3.4.4 ViewBag方式傳遞數(shù)據(jù)到視圖 50
3.4.5 通過返回View傳遞數(shù)據(jù)到視圖 51
3.4.6 TempData方式傳遞數(shù)據(jù)到視圖 54
3.5 模型綁定基礎 55
3.5.1 基本概念 55
3.5.2 模型綁定的過程 56
3.5.3 模型綁定的作用 56
3.5.4 模型綁定的默認數(shù)據(jù)源 56
3.5.5 模型綁定的自定義數(shù)據(jù)源 57
3.5.6 簡單類型的模型綁定 58
3.5.7 復雜類型的模型綁定 58
第 4 章 Razor語法基礎 61
4.1 概述 61
4.1.1 運行原理 62
4.1.2 第一個Razor范例 62
4.2 代碼塊 63
4.2.1 Razor的注釋 63
4.2.2 關鍵字 63
4.2.3 輸出字符@和電子郵件 63
4.2.4 隱式表達式 64
4.2.5 顯式表達式 65
4.2.6 表達式編碼 65
4.2.7 Razor代碼塊 66
4.2.8 隱式轉換 67
4.2.9 顯式分隔轉換 67
4.2.10 以@:符號顯式行轉換 67
4.2.11 條件屬性呈現(xiàn) 68
4.2.12 條件語句 68
4.2.13 循環(huán)語句 69
4.3 指令塊 71
4.3.1 @function指令定義方法 71
4.3.2 @using指令引入命名空間 72
4.3.3 @model指令指定對象類型 73
4.3.4 布局類指令 73
4.4 異常處理 73
第 5 章 HTML輔助器 76
5.1 HtmlHelper簡介 76
5.2 輔助器的分類 77
5.3 工作原理 77
5.4 弱類型HtmlHelper 78
5.4.1 準備試驗環(huán)境 78
5.4.2 ActionLink鏈接 80
5.4.3 RouteLink鏈接 82
5.4.4 TextBox輸入框 82
5.4.5 Hidden隱藏域 82
5.4.6 Password密碼輸入框 83
5.4.7 CheckBox復選框 83
5.4.8 RadioButton單選按鈕 83
5.4.9 DropDownList下拉菜單 84
5.4.10 ListBox多選框 84
5.4.11 添加屬性 85
5.4.12 Form表單 85
5.4.13 使用TagBuilder創(chuàng)建自定義標簽 88
5.5 強類型HtmlHelper 89
5.5.1 強類型HtmlHelper方法 89
5.5.2 LabelFor數(shù)據(jù)標簽 91
5.5.3 DisplayFor與EditorFor顯示和編輯Model數(shù)據(jù) 92
5.6 支架輔助器 93
第 6 章 LINQ的基本使用 99
6.1 基本概念 99
6.2 LINQ提供的程序 99
6.3 LINQ所使用的語法 100
6.3.1 查詢表達式語法 100
6.3.2 方法語法 101
6.4 查詢表達式語法的使用 101
6.4.1 from-in-select的簡單使用 101
6.4.2 使用select的匿名類型形式 104
6.4.3 where子句 106
6.4.4 group…by子句 108
6.4.5 orderby子句 109
6.5 委托 110
6.5.1 委托的基本概念 110
6.5.2 聲明委托 111
6.5.3 通過命名方法使用委托 111
6.5.4 通過delegate關鍵字使用委托 114
6.5.5 通過Lambda表達式使用委托 115
6.5.6 多播委托 117
6.5.7 深入研究委托的 =和-= 119
6.5.8 內置委托 120
6.6 Expression表達式樹 124
6.6.1 表達式樹是什么 124
6.6.2 表達式樹基類Expression 125
6.6.3 常用的表達式類型 127
6.6.4 Expression類 129
6.7 方法調用語法 132
6.7.1 過濾元素的Where方法 132
6.7.2 選取元素的Select和SelectMany方法 136
6.7.3 排序元素的OrderBy方法 138
6.7.4 元素分組的GroupBy方法 140
6.7.5 元素分組的ToLookup方法 140
6.7.6 延遲查詢 141
第 7 章 數(shù)據(jù)庫快速開發(fā)工具Entity Framework 144
7.1 Entity Framework概述 144
7.1.1 ORM是什么 144
7.1.2 什么是Entity Framework 145
7.1.3 EF的優(yōu)缺點 146
7.1.4 EF的適用場合 147
7.1.5 EF的組成結構 147
7.1.6 EF相對于ADO.NET的區(qū)別和優(yōu)點 148
7.1.7 EF的3種開發(fā)方式 148
7.2 常用數(shù)據(jù)庫的準備 149
7.2.1 準備LocalDB 150
7.2.2 下載和安裝MySQL 153
7.2.3 登錄和使用MySQL 155
7.2.4 關閉MySQL的SSL 157
7.2.5 讓Visual Studio連接到MySQL 159
7.2.6 卸載MySQL 160
7.2.7 傳統(tǒng)方式訪問MySQL數(shù)據(jù)庫 161
7.3 基礎知識的準備 163
7.3.1 實體之間的關系 163
7.3.2 主鍵 164
7.3.3 外鍵 164
7.3.4 外鍵約束 165
7.3.5 HTTP中POST提交數(shù)據(jù)的4種方式 165
7.3.6 TryUpdateModel更新model 168
7.3.7 MVC中的RedirectToAction 170
7.4 Code First開發(fā)基礎 170
7.4.1 實體類及其屬性 171
7.4.2 導航屬性的概念 173
7.4.3 EF中的關系 173
7.4.4 約定、外鍵和導航屬性 174
7.4.5 實體的類型 179
7.4.6 實體對象的狀態(tài) 180
7.4.7 數(shù)據(jù)庫上下文基類DbContext 181
7.4.8 數(shù)據(jù)集類DbSet 184
7.4.9 不通過配置文件創(chuàng)建數(shù)據(jù)庫 185
7.4.10 數(shù)據(jù)庫連接字符串 190
7.4.11 常用數(shù)據(jù)庫的連接字符串范例 195
7.4.12 通過配置文件創(chuàng)建數(shù)據(jù)庫 202
7.4.13 基于EF的增、刪、改、查操作 205
7.5 基于Code First的Web案例 213
7.5.1 創(chuàng)建Entity Framework數(shù)據(jù)模型 213
7.5.2 查看并操作數(shù)據(jù)庫實驗 222
7.5.3 實現(xiàn)基本的CRUD功能 225
7.5.4 排序、篩選和分頁 237
7.5.5 完善關于頁 244
7.6 Database First開發(fā)基礎 246
7.6.1 準備數(shù)據(jù)庫 246
7.6.2 Database First模式的數(shù)據(jù)庫應用開發(fā) 248
7.7 Model First開發(fā)基礎 257
第 8 章 服務端數(shù)據(jù)注解和驗證 269
8.1 概述 269
8.1.1 為何要驗證用戶輸入 269
8.1.2 數(shù)據(jù)注解及其分類 270
8.2 內置驗證注解 270
8.2.1 Required非空驗證 271
8.2.2 StringLength字符串長度驗證 273
8.2.3 RegularExpression正則表達式驗證 274
8.2.4 Range數(shù)值范圍驗證 275
8.2.5 Compare特性 277
8.2.6 Remote遠程服務器驗證 277
8.3 顯示性注解 283
8.3.1 DisplayName顯示屬性名稱 283
8.3.2 DisplayFormat設置顯示格式 285
8.3.3 ReadOnly設置只讀 286
8.3.4 HiddenInput隱藏屬性 290
8.3.5 ScaffoldColumn徹底不顯示屬性 292
8.3.6 分部視圖 295
8.3.7 UIHint定制屬性顯示方式 301
8.4 其他注解 303
8.4.1 DataType提供屬性特定信息 303
8.4.2 映射相關的數(shù)據(jù)注解NotMapped 304
8.4.3 自定義校驗特性 305
第 9 章 模型模板 308
9.1 模型元數(shù)據(jù) 308
9.1.1 元數(shù)據(jù) 308
9.1.2 模型元數(shù)據(jù)介紹 309
9.1.3 Model與View的使用關系 309
9.1.4 元數(shù)據(jù)驅動設計 310
9.1.5 元數(shù)據(jù)的層次結構 311
9.1.6 模型元數(shù)據(jù)的作用 312
9.1.7 自定義模板 312
9.2 預定義模板 314
9.2.1 EmailAddress模板 314
9.2.2 HiddenInput模板 315
9.2.3 Html模板 316
9.2.4 Text與String模板 317
9.2.5 Url模板 318
9.2.6 MultilineText模板 319
9.2.7 Password模板 319
9.2.8 Decimal模板 320
9.2.9 Collection模板 321
第 10 章 前端驗證 323
10.1 基于HTML的客戶端驗證 324
10.2 基于jQuery Validation Unobtrusive的客戶端驗證 326
10.2.1 基本概念 326
10.2.2 優(yōu)點 326
10.2.3 開啟或關閉客戶端驗證 327
10.2.4 使用jQuery Validation Unobtrusive的基本步驟 327
10.2.5 基本驗證規(guī)則 328
10.2.6 data-val-required和[Required]特性的區(qū)別 330
10.2.7 復雜一點的規(guī)則 330
第 11 章 安全與身份驗證 334
11.1 概述 334
11.1.1 ASP.NET MVC提供的安全特性 334
11.1.2 身份驗證和授權 335
11.1.3 ASP.NET MVC中的用戶身份驗證和授權 335
11.1.4 授權 336
11.1.5 角色管理 336
11.1.6 用戶管理 336
11.1.7 記錄用戶的驗證狀態(tài) 337
11.1.8 命名空間System.Web.Security 337
11.2 會話 338
11.2.1 基本概念 338
11.2.2 工作原理 340
11.2.3 使用會話的優(yōu)勢 340
11.2.4 會話的應用場景 341
11.3 ASP.NET內置對象 342
11.3.1 基本概念 342
11.3.2 使用內置對象的途徑 343
11.3.3 Response對象 343
11.4 Request對象 348
11.4.1 Server對象 351
11.4.2 Session對象 353
11.4.3 Application對象 355
11.5 Cookie 356
11.5.1 基本概念 356
11.5.2 工作原理 357
11.5.3 Cookie的分類 358
11.5.4 Session和Cookie比較 358
11.5.5 Cookie的作用 359
11.5.6 Cookie類HttpCookie 359
11.5.7 管理Cookie 360
11.6 用戶憑證管理框架 362
11.6.1 概述 362
11.6.2 成員資格類Membership 363
11.6.3 CreateUser創(chuàng)建用戶 367
11.6.4 ValidateUser驗證用戶 369
11.7 表單身份驗證 369
11.7.1 驗證類型 369
11.7.2 基本概念 370
11.7.3 啟用表單驗證 371
11.7.4 表單驗證類FormsAuthentication 372
11.7.5 登錄流程 375
11.7.6 判斷用戶是否登錄 376
11.7.7 FormsAuthenticationTicket創(chuàng)建登錄票據(jù) 377
11.7.8 SetAuthCookie創(chuàng)建票據(jù)并保存到Cookie 380
11.7.9 IPrincipal和IIdentity 381
11.7.10 類Membership與類FormsAuthentication的功能區(qū)別 381
11.8 操作方法的過濾訪問 381
11.8.1 Authorize授權過濾器 381
11.8.2 匿名訪問控制器方法 406
11.8.3 HandleError異常過濾器 409
11.8.4 ActionFilter自定義過濾器 411
11.9 緩存和授權 412
第 12 章 音樂唱片管理系統(tǒng)開發(fā)實戰(zhàn) 416
12.1 新建項目 416
12.2 添加控制器 416
12.2.1 使用HomeController 417
12.2.2 添加StoreController 417
12.3 視圖和ViewModel 420
12.3.1 修改視圖模板 420
12.3.2 對常見網(wǎng)站元素使用布局 421
12.3.3 更新StyleSheet 422
12.3.4 添加流派和專輯模型類 423
12.3.5 使用模型將信息傳遞給視圖 424
12.3.6 在頁面之間添加鏈接 427
12.4 模型和數(shù)據(jù)訪問 428
12.4.1 使用Code First模式訪問數(shù)據(jù)庫 429
12.4.2 添加藝術家模型類 429
12.4.3 更新專輯和流派模型類 429
12.4.4 創(chuàng)建連接字符串 430
12.4.5 準備安裝Entity Framework 430
12.4.6 安裝SQL Server Compact驅動 431
12.4.7 添加上下文類 431
12.4.8 添加商品種子數(shù)據(jù) 431
12.4.9 查詢數(shù)據(jù)庫 433
12.4.10 更新瀏覽頁面 434
12.5 商品管理 438
12.5.1 創(chuàng)建StoreManagerController 439
12.5.2 修改Index視圖和動作 440
12.5.3 了解應用商店管理器 443
12.5.4 查看商店管理器的控制器類 443
12.5.5 查看商店管理器Index方法 444
12.5.6 查看詳細信息操作 444
12.5.7 創(chuàng)建操作 444
12.5.8 編輯操作 449
12.5.9 刪除操作 451
12.5.10 使用HTML幫助程序截斷文本 452
12.5.11 使用數(shù)據(jù)注解進行模型驗證 453
第 13 章 一百書店系統(tǒng)開發(fā)實戰(zhàn) 456
13.1 系統(tǒng)設計 456
13.2 用戶管理 457
13.2.1 添加用戶模型類 457
13.2.2 添加角色模型類 458
13.2.3 安裝Entity Framework 459
13.2.4 創(chuàng)建數(shù)據(jù)庫上下文類 459
13.2.5 準備生成數(shù)據(jù)庫 461
13.2.6 添加Users控制器 462
13.2.7 新增用戶管理鏈接 464
13.2.8 完善創(chuàng)建用戶功能 464
13.2.9 完善編輯功能 465
13.2.10 細節(jié)和刪除功能 466
13.3 圖書管理 466
13.3.1 添加用戶模型類 466
13.3.2 添加圖書類別 467
13.3.3 在數(shù)據(jù)庫上下文類中添加數(shù)據(jù)集成員 467
13.3.4 添加Books控制器 467
13.3.5 添加樣本數(shù)據(jù)并刪除數(shù)據(jù)庫 468
13.3.6 首頁新增圖書管理鏈接并運行 469
13.3.7 實現(xiàn)圖書管理的搜索功能 470
13.4 實現(xiàn)首頁列表區(qū) 471
13.4.1 實現(xiàn)視圖 472
13.4.2 實現(xiàn)動作方法 474
13.4.3 準備運行查看首頁列表區(qū) 475
13.5 實現(xiàn)首頁類別區(qū) 475
13.5.1 實現(xiàn)視圖 475
13.5.2 實現(xiàn)動作方法 476
13.5.3 測試首頁類別查詢功能 476
13.6 實現(xiàn)搜索功能 477
13.6.1 實現(xiàn)視圖 477
13.6.2 實現(xiàn)動作方法 477
13.6.3 測試首頁搜索功能 478
13.7 注冊、登錄和注銷 478
13.7.1 首頁增加登錄鏈接 479
13.7.2 添加GET方式的Login方法 479
13.7.3 添加Login視圖 479
13.7.4 添加GET方式的注冊 480
13.7.5 添加Register視圖 480
13.7.6 添加POST方式的注冊 480
13.7.7 開啟表單驗證 480
13.7.8 添加POST方式的Login方法 481
13.7.9 添加注銷方法 482
13.7.10 不同角色顯示不同視圖 482
13.7.11 此時注冊、登錄和注銷 483
13.8 購物車 484
13.8.1 添加購物車商品模型類 484
13.8.2 在數(shù)據(jù)庫上下文類中添加數(shù)據(jù)集成員 485
13.8.3 添加購物車商品控制器 485
13.8.4 實現(xiàn)購物車Index視圖 485
13.8.5 實現(xiàn)購物車的角色訪問控制 487
13.8.6 添加插入商品到購物車方法 488
13.8.7 增加、減少和刪除 490
13.8.8 購物車結算產生訂單 491
13.9 訂單處理 495
13.9.1 買家查看訂單 496
13.9.2 買家付款 499
13.9.3 管理員發(fā)貨 500
13.9.4 買家確認收貨 501
13.9.5 取消訂單 501
13.9.6 刪除訂單 501
13.9.7 評價訂單 502
13.10 一些收尾工作 505
13.10.1 個人信息中心 505
13.10.2 更新關于和聯(lián)系方式 506
13.10.3 美化頂部橫幅 506