Asp.Net MVC4 + Oracle + EasyUI 學習 序章

憤怒的TryCatch發表於2015-12-01
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

下一章節:

Asp.Net MVC4 + Oracle + EasyUI  學習 第一章 使用資料

相關文章