本書是由臺(tái)灣知名博客站長與暢銷書作者“Will保哥”所撰寫的ASP.NET MVC 4開發(fā)指南,融入作者多年實(shí)務(wù)開發(fā)工作之精髓,從基礎(chǔ)觀念、技術(shù)講解、開發(fā)實(shí)例、開發(fā)技巧到安裝部署,都將以深入淺出的例子帶領(lǐng)讀者理解ASP.NET MVC框架的精妙之處,讓網(wǎng)站生成工作更加安全、快速,也更容易維護(hù)!
本書共分11章,第1章講解通用的MVC特性,第2章講述正確的開發(fā)觀念,第3章以一個(gè)簡單的例子帶領(lǐng)讀者快速上手ASP.NET MVC,第4~8章分別介紹了ASP.NET MVC最重要的核心觀念與技術(shù)解析,其中包括路由與生命周期、模型、控制器、Razor視圖引擎技術(shù)、本地技術(shù)等,第9章則以更高級(jí)的方式完成一套完整的電子商務(wù)網(wǎng)站開發(fā)實(shí)例,第10章分享筆者多年累積的各種開發(fā)技巧,第11章詳述如何部署ASP.NET MVC到正式環(huán)境。
本書適合有ASP.NET窗體開發(fā)經(jīng)驗(yàn)的開發(fā)人員閱讀,書中的演示能清楚帶領(lǐng)讀者快速了解ASP.NET MVC的開發(fā)細(xì)節(jié)與觀念,相信能為讀者帶來全新的視野,輕松排查網(wǎng)站開發(fā)過程中衍生的各種難題。
Will保哥作品,必屬精品!啥也不說了,請(qǐng)搜索關(guān)鍵詞“Will保哥”!
作 者 序
大家好,我是Will保哥,當(dāng)前任職于臺(tái)灣多奇數(shù)位創(chuàng)意有限公司,擔(dān)任技術(shù)總監(jiān)一職,負(fù)責(zé)公司技術(shù)方向的決策。大約從4年多前我開始注意到,ASP.NET MVC這門技術(shù)在國外漸漸發(fā)展起來,起初不覺得有什么特別的地方,但慢慢地看到了一些國外討論的開發(fā)觀念與設(shè)計(jì)樣式,好像真的能夠解決當(dāng)時(shí)ASP.NET Web Form開發(fā)上的困擾點(diǎn),例如,內(nèi)建的控件不好用、控件套版不易、抽象的ASP.NET Web Form事件模型常常讓開發(fā)人員搞不清楚狀況、太大的ViewState等,這些都是我們?nèi)粘i_發(fā)工作會(huì)遇到的問題。
直到2009年初,ASP.NET MVC 1.0正式版上市,除了還在創(chuàng)建與維護(hù)中的ASP.NET Web Form項(xiàng)目不會(huì)改動(dòng)之外,我毅然決然地帶領(lǐng)公司所有開發(fā)人員轉(zhuǎn)向ASP.NET MVC的懷抱,并宣告未來所有新項(xiàng)目皆以ASP.NET MVC技術(shù)為主。這是一個(gè)重大的決定,也是一個(gè)至今從未后悔的決定。對(duì)我來說,學(xué)習(xí)一門全新的技術(shù)時(shí),動(dòng)機(jī)”很重要,而且當(dāng)你接觸一門新技術(shù)必須要放棄許多以往的開發(fā)經(jīng)驗(yàn)時(shí),如果沒有明確的動(dòng)機(jī)與察覺轉(zhuǎn)變的價(jià)值,很難讓人改變,因此要進(jìn)入一個(gè)全新技術(shù)的領(lǐng)域,首要任務(wù)就是先感受技術(shù)的價(jià)值,然后再進(jìn)一步深入研究技術(shù)的細(xì)節(jié)。
這本書是《ASP.NET MVC 2 開發(fā)實(shí)戰(zhàn)》這本書的火力加強(qiáng)版,兩年多前寫人生第一本書時(shí),從決定要寫,到寫完歷時(shí)一年多的時(shí)間,并且當(dāng)時(shí)ASP.NET MVC版本也從ASP.NET MVC 1.0升級(jí)到ASP.NET MVC 2.0,由于ASP.NET MVC的觀念與架構(gòu)十分優(yōu)秀與嚴(yán)謹(jǐn),因此技術(shù)升級(jí)的過程非常順利,也因?yàn)锳SP.NET MVC的開發(fā)觀念不需要重新創(chuàng)建,所以當(dāng)時(shí)在學(xué)習(xí)ASP.NET MVC 2.0的時(shí)候也沒什么太多負(fù)擔(dān)。
時(shí)至今日,ASP.NET MVC又升級(jí)了兩版,來到當(dāng)前最新的ASP.NET MVC 4.0版,如同我兩年前的預(yù)測一樣,新的ASP.NET MVC 3.0與ASP.NET MVC 4.0與早期ASP.NET MVC 1.0與ASP.NET MVC 2.0的兼容性都非常好,其開發(fā)觀念也都完全一致,對(duì)于早期投入ASP.NET MVC研究的人來說,并不會(huì)帶來多大學(xué)習(xí)壓力,只要另外學(xué)習(xí)新版帶來的新功能與新特性即可。
新版的ASP.NET MVC 3.0與ASP.NET MVC 4.0也如大家所預(yù)期的,微軟持續(xù)不斷地在ASP.NET MVC架構(gòu)上增強(qiáng)功能,并且不斷地強(qiáng)化Visual Studio工具的支持,例如,當(dāng)前最新版的Visual Studio 2012的Page Inspector功能,就能幫助ASP.NET MVC開發(fā)人員在不同的View之間快速切換,開發(fā)除錯(cuò)的效率大幅提升,因此,筆者依然認(rèn)為ASP.NET MVC在未來還是非常具有發(fā)展前景。
這些年來,我們公司已經(jīng)全面轉(zhuǎn)型使用ASP.NET MVC開發(fā)各種大大小小的項(xiàng)目,現(xiàn)在創(chuàng)建的網(wǎng)站不但更加安全、開發(fā)速度更快、項(xiàng)目創(chuàng)建完成的時(shí)間更短,以及最重要的是網(wǎng)站變得更容易維護(hù),質(zhì)量也更高了,這都要?dú)w功于ASP.NET MVC的技術(shù)架構(gòu)所賜,因?yàn)锳SP.NET MVC非常強(qiáng)調(diào)“關(guān)注點(diǎn)分離”的概念,而且從開發(fā)架構(gòu)上來看就很容易讓開發(fā)人員做到“關(guān)注點(diǎn)分離”,這個(gè)優(yōu)勢是ASP.NET Web Form完全無法匹敵的。有趣的是,當(dāng)我問公司里的工程師:“你以后還想要寫ASP.NET WebForm嗎?”他給我的回答竟然是:“保哥,我回不去了!
筆者整理這幾年累積的ASP.NET MVC開發(fā)經(jīng)驗(yàn)與教學(xué)經(jīng)驗(yàn),希望本書的出版能帶給所有ASP.NET開發(fā)人員另一個(gè)全新且優(yōu)秀的選擇,就讓我們一起擁抱ASP.NET MVC的世界吧!
黃保翕( Will保哥)
多奇數(shù)位創(chuàng)意有限公司:http://www.miniasp.com/
我的博客:http://blog.miniasp.com/
The Will Will Web-記載著Will在網(wǎng)絡(luò)世界的學(xué)習(xí)心得與技術(shù)分享
Will保哥的新浪微博:http://www.weibo.com/cnwill
本書源碼下載:
https://dl.dropboxusercontent.com/u/1011445/MVC4SampleCode.zip
ASP.NET MVC問世已久,幾年前或許有人會(huì)擔(dān)心ASP.NET MVC框架是否能用在實(shí)務(wù)的項(xiàng)目上,也擔(dān)心用在新項(xiàng)目上是否真的能改善開發(fā)效率與質(zhì)量,但筆者這幾年下來,已經(jīng)累積數(shù)十個(gè)網(wǎng)站項(xiàng)目改用ASP.NET MVC框架來開發(fā),不但運(yùn)作得十分順暢,而且也能讓完全不懂ASP.NET MVC的新手迅速理解核心觀念與開發(fā)架構(gòu),相信只要讀者擁有正確的觀念、學(xué)習(xí)關(guān)鍵的核心技術(shù),很快就能活用在工作與項(xiàng)目上。
本書主要分成三大部分,將以循序漸進(jìn)的方式,帶領(lǐng)讀者揭開ASP.NET MVC 4的神秘面紗,引導(dǎo)讀者創(chuàng)建正確的觀念,以及實(shí)際體驗(yàn)ASP.NET MVC 4的強(qiáng)大魅力。
TIPS建議章節(jié)閱讀順序:
1 → 2 → 3想按部就班學(xué)習(xí)ASP.NET MVC的人
1 → 3 → 2想先感受程序,再創(chuàng)建觀念的人
3 → 1 → 2給懶得閱讀文字,只想看程序代碼的人
第1篇:基礎(chǔ)觀念篇
第1章:在學(xué)習(xí)ASP.NET MVC之前
本章將介紹ASP.NET MVC的基礎(chǔ)知識(shí),幫助你了解ASP.NET MVC的輪廓。由于著重于觀念,如果覺得看不懂,可先直接跳過,待后續(xù)的章節(jié)讀完之后,再回頭閱讀或許更能幫助你創(chuàng)建正確的觀念。
第2章:創(chuàng)建正確的開發(fā)觀念
主要介紹使用ASP.NET MVC進(jìn)行網(wǎng)站開發(fā)時(shí)應(yīng)有的正確觀念。強(qiáng)大的工具若沒有正確的觀念支持,就像是給你一臺(tái)馬力強(qiáng)又省油的手排車,而你不知道離合器如何使用是一樣的,也許你試了一段時(shí)間后,覺得車子還是開不快時(shí),就提前放棄了一部好車。本章最后也整理了初學(xué)者對(duì)ASP.NET MVC經(jīng)常會(huì)問的問題,并逐一進(jìn)行回答。
第3章:新手上路初體驗(yàn)
將介紹Visual Studio 2012開發(fā)環(huán)境與操作技巧,并利用Visual Studio 2012創(chuàng)建你的第一個(gè)ASP.NET MVC專案,讓讀者親身體驗(yàn)ASP.NET MVC在進(jìn)行實(shí)務(wù)開發(fā)時(shí)的完整過程,相信在逐步教學(xué)的帶領(lǐng)之下能讓現(xiàn)有的ASP.NET Web Form開發(fā)人員迅速了解與ASP.NET MVC的開發(fā)差異,進(jìn)而快速上手。
第2篇:技術(shù)講解篇
第4章:Routing與ASP.NET MVC生命周期
要想掌握ASP.NET MVC,最重要的是要了解網(wǎng)址路由(Routing)與運(yùn)行生命周期的重要觀念。網(wǎng)址路由在ASP.NET MVC有兩個(gè)目的,第一個(gè)是比對(duì)通過瀏覽器傳來的HTTP要求,并映射到適當(dāng)?shù)腃ontroller與Action進(jìn)行處理;另一個(gè)目的則是決定ASP.NET MVC應(yīng)該輸出什么樣的網(wǎng)址響應(yīng)給瀏覽器。雖然跳過本章仍然可以成功創(chuàng)建ASP.NET MVC網(wǎng)站,但了解它能幫助我們理解ASP.NET MVC運(yùn)行時(shí)的先后順序,進(jìn)而減少犯錯(cuò)的機(jī)會(huì)。
第5章:Model相關(guān)技術(shù)
在ASP.NET MVC開發(fā)的過程中,通常Model(模型)是整個(gè)項(xiàng)目首要開發(fā)的部分,所有需要數(shù)據(jù)訪問的地方都需仰賴Model提供服務(wù)。本章將從最基本的ORM觀念講起,介紹Visual Studio 2012內(nèi)建的SQL Server 2012 Express LocalDB數(shù)據(jù)庫,以及學(xué)習(xí)如何使用Entity Framework Code First快速創(chuàng)建數(shù)據(jù)模型,并利用Code First數(shù)據(jù)庫遷移功能簡化數(shù)據(jù)庫操作的復(fù)雜度。最后還會(huì)介紹如何手動(dòng)創(chuàng)建檢視數(shù)據(jù)模型(ViewModel),并通過部分類別的擴(kuò)充達(dá)到基本的字段驗(yàn)證。
第6章:剖析Controller相關(guān)技術(shù)
ASP.NET MVC的核心就是Controller (控制器),負(fù)責(zé)處理瀏覽器傳來的所有要求,并決定響應(yīng)的屬性,但Controller并不負(fù)責(zé)應(yīng)如何顯示屬性,僅響應(yīng)特定形態(tài)的屬性給ASP.NET MVC框架,而View才是決定響應(yīng)屬性的重要角色。本章也將會(huì)應(yīng)用第2章所提及的“關(guān)注點(diǎn)分離”、“以習(xí)慣替換配置”、“不要重復(fù)你自己”等觀念,讓你邁入ASP.NET MVC的殿堂,從而發(fā)現(xiàn)ASP.NET MVC的核心之美。
第7章:View數(shù)據(jù)呈現(xiàn)相關(guān)技術(shù)
View負(fù)責(zé)數(shù)據(jù)的呈現(xiàn),所有呈現(xiàn)數(shù)據(jù)的邏輯都會(huì)由View來控制管理,不過,View開發(fā)應(yīng)該是整個(gè)ASP.NET MVC項(xiàng)目最費(fèi)時(shí)間的,因?yàn)榕c顯示邏輯相關(guān)的技術(shù)五花八門,本章將會(huì)介紹眾多ASP.NET MVC內(nèi)建的View開發(fā)技術(shù),以迅速解決各種復(fù)雜的開發(fā)情境。此外,從ASP.NET MVC 3開始新增的Razor語法,是一種有別于常規(guī)ASP.NET Web Form的全新撰寫風(fēng)格,在本章也會(huì)詳加闡述所有細(xì)節(jié),讓讀者在最短的時(shí)間內(nèi)學(xué)會(huì)這個(gè)嶄新、優(yōu)異的Razor語法。
第8章:Area區(qū)域相關(guān)技術(shù)
本章將介紹如何利用ASP.NET MVC的Area(區(qū)域)機(jī)制,協(xié)助你架構(gòu)較為大型的項(xiàng)目,讓獨(dú)立性高的功能獨(dú)立成一個(gè)ASP.NET MVC子網(wǎng)站,以降低網(wǎng)站與網(wǎng)站之間的耦合性,也可以通過Area的切割讓多人同時(shí)開發(fā)同一個(gè)項(xiàng)目時(shí),減少互相沖突的機(jī)會(huì)。
第3篇:開發(fā)實(shí)戰(zhàn)篇
第9章:高級(jí)實(shí)戰(zhàn):電子商務(wù)網(wǎng)站開發(fā)
本章將通過第2篇所學(xué)到的知識(shí),以一套完整的電子商務(wù)網(wǎng)站為藍(lán)圖,詳述ASP.NET MVC 4開發(fā)流程與分享許多實(shí)務(wù)開發(fā)技巧,從數(shù)據(jù)模型規(guī)劃、控制器架構(gòu)規(guī)劃、創(chuàng)建檢視頁面、添加數(shù)據(jù)庫功能與購物車功能,最后再介紹如何強(qiáng)化現(xiàn)有ASP.NET MVC項(xiàng)目與信息分頁技巧,相信在融會(huì)貫通之后,即可有效運(yùn)用于其他更復(fù)雜的項(xiàng)目上。
第10章:ASP.NET MVC開發(fā)技巧
本章將整理一些在實(shí)務(wù)上經(jīng)常使用的開發(fā)技巧。包括強(qiáng)化網(wǎng)站安全性、多國語言支持、使用Visual Studio程序代碼模板快速開發(fā)、如何在ASP.NET MVC與ASP.NET Web Form之間傳遞數(shù)據(jù)、如何對(duì)ASP.NET MVC 4源代碼進(jìn)行調(diào)試、使用Visual Studio程序代碼模板快速開發(fā)等。雖然善用工具能有效提升開發(fā)效率,但還是要記得,擁有正確的觀念與扎實(shí)的技術(shù),才是開發(fā)效率提升的不二法門。
第11章:安裝部署
部署網(wǎng)站往往是一件麻煩事,因?yàn)樵诎惭b部署的過程中,經(jīng)常有許多步驟要運(yùn)行,對(duì)于許多不太熟悉IIS/SQL的新手來說,部署網(wǎng)站變成一件非常困難且危險(xiǎn)的事。Visual Studio 2012在ASP.NET網(wǎng)站部署方面提升了不少能力,有助于讓你將現(xiàn)有網(wǎng)站快速且簡便地發(fā)布到遠(yuǎn)程的IIS服務(wù)器上,而免除了許多繁雜的設(shè)置程序。此外還整理了幾個(gè)部署ASP.NET MVC的常見問題,當(dāng)遇到問題時(shí)可供讀者進(jìn)行參考。
黃保翕(Will保哥)
網(wǎng)絡(luò)知名技術(shù)專家(個(gè)人博客TheWill Will Web記載著Will在網(wǎng)絡(luò)世界的學(xué)習(xí)心得與技術(shù)分享)。當(dāng)前已經(jīng)超過千篇文章。
臺(tái)科大電子工程系畢業(yè),現(xiàn)任多奇數(shù)位創(chuàng)意有限公司技術(shù)總監(jiān),自身專攻Web開發(fā)已經(jīng)超過15年,早期專研LAMP相關(guān)技術(shù),近幾年全心轉(zhuǎn)移技術(shù)領(lǐng)域至Microsoft.NET Platform與ASP.NET開發(fā)技術(shù)。曾擔(dān)任 Visual Studio2010 上市發(fā)表會(huì)講師、MSDN講座講師、TechDays Taiwan 2010/2011 講師、TechEd China2011 講師,出版著作有《ASP.NETMVC 2 開發(fā)實(shí)戰(zhàn)》與《WindowsPhone開發(fā)實(shí)戰(zhàn)》等。
擅長各式Web排查方案、中大型網(wǎng)站架構(gòu)規(guī)劃、數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)、網(wǎng)站屬性管理系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)與Web集成。
微軟最有價(jià)值專家(MVP),擁有MCTS、MCPD等國際認(rèn)證。
黃保翕(Will保哥)
網(wǎng)絡(luò)知名技術(shù)專家(個(gè)人博客TheWill Will Web記載著Will在網(wǎng)絡(luò)世界的學(xué)習(xí)心得與技術(shù)分享)。當(dāng)前已經(jīng)超過千篇文章。
臺(tái)科大電子工程系畢業(yè),現(xiàn)任多奇數(shù)位創(chuàng)意有限公司技術(shù)總監(jiān),自身專攻Web開發(fā)已經(jīng)超過15年,早期專研LAMP相關(guān)技術(shù),近幾年全心轉(zhuǎn)移技術(shù)領(lǐng)域至Microsoft.NET Platform與ASP.NET開發(fā)技術(shù)。曾擔(dān)任 Visual Studio2010 上市發(fā)表會(huì)講師、MSDN講座講師、TechDays Taiwan 2010/2011 講師、TechEd China2011 講師,出版著作有《ASP.NETMVC 2 開發(fā)實(shí)戰(zhàn)》與《WindowsPhone開發(fā)實(shí)戰(zhàn)》等。
擅長各式Web排查方案、中大型網(wǎng)站架構(gòu)規(guī)劃、數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)、網(wǎng)站屬性管理系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)與Web集成。
微軟最有價(jià)值專家(MVP),擁有MCTS、MCPD等國際認(rèn)證。
第1章 在學(xué)習(xí)ASP.NETMVC之前
1.1 何謂MVC
1.1.1 何謂Model
1.1.2 何謂View
1.1.3 何謂Controller
1.2 初探MVC架構(gòu)
1.2.1 彼此的關(guān)聯(lián)性
1.2.2 Controller與View的關(guān)聯(lián)性
1.2.3 View與Model的關(guān)聯(lián)性
1.2.4 Model與Controller的關(guān)聯(lián)性
1.3 彼此的獨(dú)立性
1.3.1 Controller與View之間的獨(dú)立性
1.3.2 View與Model之間的獨(dú)立性
1.3.3 Model與Controller之間的獨(dú)立性
1.4 為什么要ASP.NET MVC
第1章 在學(xué)習(xí)ASP.NETMVC之前
1.1 何謂MVC
1.1.1 何謂Model
1.1.2 何謂View
1.1.3 何謂Controller
1.2 初探MVC架構(gòu)
1.2.1 彼此的關(guān)聯(lián)性
1.2.2 Controller與View的關(guān)聯(lián)性
1.2.3 View與Model的關(guān)聯(lián)性
1.2.4 Model與Controller的關(guān)聯(lián)性
1.3 彼此的獨(dú)立性
1.3.1 Controller與View之間的獨(dú)立性
1.3.2 View與Model之間的獨(dú)立性
1.3.3 Model與Controller之間的獨(dú)立性
1.4 為什么要ASP.NET MVC
1.4.1 關(guān)注點(diǎn)分離與可維護(hù)性
1.4.2 開放特性與社群支持
1.4.3 開發(fā)工具與效率
1.4.4 易于測試的架構(gòu)
1.4.5 易于分工的架構(gòu)
1.5 總結(jié)
第2章 創(chuàng)建正確的開發(fā)觀念
2.1 關(guān)注點(diǎn)分離
2.2 以習(xí)慣替換配置
2.2.1 Controller
2.2.2 View
2.2.3 Model
2.3 開發(fā)ASP.NET MVC項(xiàng)目時(shí)的建議
2.4 ASP.NET MVC常見問題
2.5 總結(jié)
第3章 新手上路初體驗(yàn)
3.1 認(rèn)識(shí)Visual Studio
開發(fā)工具
3.2 介紹Nu Get套件管理員
3.2.1 遭遇問題
3.2.2 使用方法
3.2.3 開啟程序包管理器控制臺(tái)(Package Manager Console)
3.2.4 啟用Nu Get套件還原
3.3 創(chuàng)建第一個(gè)ASP.NET MVC專案
3.3.1 利用ASP.NET MVC項(xiàng)目模板創(chuàng)建項(xiàng)目
3.3.2 創(chuàng)建數(shù)據(jù)模型
3.3.3 創(chuàng)建控制器、動(dòng)作與檢視
3.3.4 測試當(dāng)前創(chuàng)建好的留言板網(wǎng)頁
3.3.5 查看數(shù)據(jù)庫屬性
3.3.6 了解自動(dòng)生成的程序代碼
3.3.7 調(diào)整前臺(tái)讓用戶留言的版面
3.4 學(xué)習(xí)MVC的注意事項(xiàng)
3.4.1 了解不同的項(xiàng)目類型
3.4.2 初學(xué)者常犯的錯(cuò)誤
3.4.3 小心使用Request與Response對(duì)象
3.4.4 不要在檢視中撰寫過多的程序邏輯
3.5 總結(jié)
第2篇 技術(shù)講解篇
第4章 Routing與ASP.NET MVC
生命周期
4.1 Routing——網(wǎng)址路由
4.1.1 比對(duì)通過瀏覽器傳來的HTTP要求
4.1.2 響應(yīng)適當(dāng)?shù)木W(wǎng)址給瀏覽器
4.1.3 默認(rèn)網(wǎng)址路由屬性解說
4.2 HTTP要求的URL如何對(duì)應(yīng)網(wǎng)址路由
4.2.1 網(wǎng)址路由演示
4.2.2 替網(wǎng)址路由加上路由值的條件約束
4.3 網(wǎng)址路由如何在ASP.NET MVC中生成網(wǎng)址
4.4 ASP.NETMVC的運(yùn)行生命周期
4.4.1 網(wǎng)址路由比對(duì)
4.4.2 運(yùn)行Controller與Action
4.4.3 運(yùn)行View并回傳結(jié)果
4.5 總結(jié)
第5章 Model相關(guān)技術(shù)
5.1 關(guān)于Model的責(zé)任
5.2 開發(fā)Model的基本觀念
5.2.1 何謂ORM
5.2.2 數(shù)據(jù)庫開發(fā)模式
5.3 Local DB介紹
5.3.1 Local DB的運(yùn)作方式
5.3.2 如何連接Local DB實(shí)例
5.3.3 管理Local DB自動(dòng)實(shí)例
5.3.4 管理Local DB具名實(shí)例
5.4 使用Code First創(chuàng)建數(shù)據(jù)模型
5.4.1 創(chuàng)建數(shù)據(jù)模型
5.4.2 創(chuàng)建數(shù)據(jù)上下文類
5.4.3 設(shè)計(jì)模型之間的關(guān)聯(lián)性
5.4.4 啟用延遲裝入特性
5.5 使用Code First數(shù)據(jù)庫遷移
5.5.1 EF Code First如何記錄版本
5.5.2 啟用數(shù)據(jù)庫遷移
5.5.3 運(yùn)行數(shù)據(jù)庫遷移
5.5.4 自定義數(shù)據(jù)庫遷移規(guī)則
5.5.5 自動(dòng)數(shù)據(jù)庫遷移
5.5.6 如何避免數(shù)據(jù)庫被自動(dòng)創(chuàng)建或自動(dòng)遷移
5.6 使用View Model數(shù)據(jù)檢視模型
5.7 擴(kuò)充數(shù)據(jù)模型
5.7.1 定義數(shù)據(jù)模型的Metadata
5.7.2 自定義Metadata驗(yàn)證屬性
5.7.3 ASP.NET MVC3新增的驗(yàn)證屬性
5.7.4 Entity Framework新增的驗(yàn)證屬性
5.7.5 .NET4.5新增的驗(yàn)證屬性
5.8 總結(jié)
第6章 Controller相關(guān)技術(shù)
6.1 關(guān)于Controller的責(zé)任
6.2 Controller的類別與方法
6.3 Controller的運(yùn)行過程
6.3.1 找不到Action時(shí)的處理方式
6.3.2 動(dòng)作名稱選定器
6.4 動(dòng)作方法選定器
6.4.1 Non Action屬性
6.4.2 HTTP動(dòng)詞限定屬性
6.5 Action Result解說
6.5.1 View Result
6.5.2 Partial View Result
6.5.3 Empty Result
6.5.4 Content Result
6.5.5 File Result
6.5.6 JavaScript Result
6.5.7 Json Result
6.5.8 Redirect Result
6.5.9 Redirect To Route
6.5.10 Http Status Code Result
6.5.11 Http Not Found Result
6.5.12 Http Unauthorized Result
6.6 View Data、View Bag與Temp Data概述
6.6.1 View Data
6.6.2 View Data. Model
6.6.3 View Bag
6.6.4 Temp Data
6.7 模型綁定
6.7.1 簡單模型綁定
6.7.2 使用Form Collection取得窗體信息
6.7.3 復(fù)雜模型綁定
6.7.4 多個(gè)復(fù)雜模型綁定
6.7.5 判斷模型綁定的驗(yàn)證結(jié)果
6.7.6 模型綁定驗(yàn)證失敗的錯(cuò)誤詳細(xì)信息
6.7.7 清空模型綁定狀態(tài)
6.7.8 使用Bind屬性限制可被更新的數(shù)據(jù)模型屬性
6.7.9 使用Update Model與Try Update Model
6.8 動(dòng)作過濾器
6.8.1 授權(quán)過濾器屬性
6.8.2 動(dòng)作過濾器屬性
6.8.3 結(jié)果過濾器屬性
6.8.4 例外過濾器屬性
6.8.5 自定義動(dòng)作過濾器屬性
6.9 總結(jié)
第7章 View數(shù)據(jù)呈現(xiàn)相關(guān)技術(shù)
7.1 關(guān)于View的責(zé)任
7.2 了解Razor語法
7.2.1 Razor基本語法
7.2.2 Razor與HTML混合輸出
7.2.3 Razor與HTML混合輸出陷阱與技巧
7.2.4 Razor與ASPX語法比較
7.2.5 Razor的主版頁面框架
7.2.6 @helper輔助方法
7.2.7 @functions自定義函數(shù)
7.2.8 @model引用參考資料型別
7.2.9 @using引用命名空間
7.3 View如何從Action取得數(shù)據(jù)
7.3.1 使用弱型別模型取得數(shù)據(jù)
7.3.2 使用強(qiáng)型別模型取得數(shù)據(jù)
7.4 HTML輔助方法
7.4.1 使用HTML輔助方法輸出超鏈接