Asp.Net MVC4 + Oracle + EasyUI 序章
-- 新建微軟實例
本文鏈接:http://www.cnblogs.com/likeli/p/4233387.html
1、 簡介
為學習MVC4而寫的文章,以項目開發的角度書寫。循序漸進,同時也是自己學習的過程,博文編寫過程中,我會參考相關專業書籍和網站,盡量編寫和描述規范的編碼和原理。若是過程中有錯誤,請各位看官不吝嗇指出!
博文的前10篇左右,應該會主要寫MVC4的部分關鍵技術知識點兒,畢竟要先掌握知識點了,才能開發嘛。
2、 博文定位
新手教程,所以適合剛剛准備學習MVC4的博友閱讀。不過會講述很多原理,個人認為,目的是學會如何操作,但是原理也同樣重要。授人以魚不如授人以漁。
3、 初次接觸MVC
創建微軟提供的MVC項目實例,初次接觸一下MVC4的特性。
圖 1
這里創建MVC4項目實例,至於最新的MVC5這里並不做樣例,該項目是將要在生產環境下運行的項目,所以沒有選用MVC5來作為Web框架,采用了前一個版本MVC4。
圖 2
4、 Razor語言簡介
按照圖中的做法,先創建一個MVC4的實例項目,先體驗一下MVC4的架構特點以及特性。這里選擇Razor視圖引擎,較之以前的Web Form引擎,個人感覺清爽了太多。推薦使用Razor引擎。簡單介紹一下Razor引擎,Razor是一種允許把代碼和內容進行平滑集成的語法,但是注意了,Razor並不是一種新的語法,而是將已知的語言來編寫代碼,例如我們這里會用的C#,當然其他的語言也行,例如VB.NET。MSDN:Razor語法
圖 3
在創建的默認微軟實例中,我們可以看到整個工程的目錄結構,途中文檔樹上黃色黃色標記部分就是MVC的關鍵結構了,Controller(控制器)、View(視圖)、Model(模型)。由於樓主電腦上暫時還沒有安裝Visio,這里就先不畫結構圖了,以后補上。
這里來說說MVC架構的好處吧。MVC模式是一種嚴格實現應用程序各部分隔離的架構模式。這種“隔離”有一個特響亮的名字“分離關注點”,通俗點兒的名字叫做”松耦合”。因此呢,MVC架構都是以實現應用程序模塊之間的隔離為目標的。
既然都實現了隔離,那么好處就顯而易見了,每個組件的獨立,相互之間沒有直接的依賴。因此在使用單一文件編譯組件時,減少了相關組件之間的影響。不會‘牽一發而動全身’。
其他關於MVC的概念就不多細說,原理方面可以多看看MSDN,網上博主們也說了很多了。
好了,項目已經創建,先運行一下。該實例中提供基礎的MVC編寫方式與規范。
圖 4
圖 5
圖 6
5、 MVC路由
從上圖的訪問路徑,引入了MVC中的一個重要概念’路由’,用對比來說明把,傳統的Web Form架構下,網站的每個URL都是由單個的物理文件.aspx表示的。而Web Form的單個頁面和頁面類是緊密耦合的,這便是代碼后置技術(code-behind),當年微軟弄出這個來着實是了不起的,其中的事件驅動模型更是大大提高了web開發的速度,但是現在很多項目處於維護、擴展等多方面的考慮,都放棄了這種模式。
而MVC的路由是依賴復雜的路由規則動態的映射外部的URL到正確的控制器上,並動態的操作指定要顯示的視圖給用戶。高度的復用,便是路由的強大之處。
另外補充一點:MVC路由功能並不是只有Asp.Net MVC程序可以使用,其實Web Form同樣可以使用的。
圖 7
圖中顯示的便是MVC下的一個標准路由配置,

1 routes.MapRoute( 2 //路由名稱 3 name: "Default", 4 //URL參數 5 url: "{controller}/{action}/{id}", 6 //默認參數 7 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 8 );
提示一下:MVC的路由中控制器和操作是不區分大小寫的,也就是說/Home/Action、/home/Action、/home/action是指向同一個Recent操作上的。
關於路由的原理很復雜,作為新手教程,這里不深入,若有興趣,之后的文章中做出詳細的解釋。上面的代碼中舉例了一個簡單的路由配置,Controller指初始的控制器名,注意,不用加上控制器名之后的controller,Action指向控制器方法名,id則為附帶參數。這里的默認控制器就是表示,頁面指向Home控制器里面的叫做Index的方法。
附上匹配路由模式的URL及其值:
URL | Controller | Action | ID |
/auctions/auction/12345 | AuctionsController | Acution | 12345 |
/auctions/recent | AuctionsController | Recent | |
/auctions | AuctionsController | Index | |
/ | HomeController | Index |
6、 綁定與壓縮
圖 8
MVC4中引入了新的特性之一:綁定和壓縮。
從字面上的意思容易理解,就是將javascript和CSS合並以及壓縮,來提高網站的訪問速度,其實這種事兒目前很多網站已經很常見了,並不是新鮮事兒了,比如淘寶,看看淘寶首頁的源碼,就知道PHP的淘寶用了一個插件,將javascript合並了,來提高頁面的訪問速度。這也是提升客戶端體驗的重要手段之一。這里同樣不詳細介紹,之后的文章里面再解說如何使用Asp.Net MVC來綁定壓縮這些文件。
7、 最后
MVC4中其實除了上面提到的綁定和壓縮外,還有異步控制器、顯示模式。這兩種新特性將在之后的文章中提到。
9、 參照書籍和網站
《MVC5 框架揭秘》、《Asp.Net MVC4 Web編程》、MSDN
8、 相關下載
文檔:http://download.csdn.net/detail/a406502972/8375369
下一章節: