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 學習 第二章ASP.NETMVCOracleUI
- Asp.Net MVC4 + Oracle + EasyUI 學習 第一章ASP.NETMVCOracleUI
- 序章-oracleOracle
- 【EasyUI學習-1】MyEclipse+easyui學習官方DemoUIEclipse
- to debug asp.net mvc4ASP.NETMVC
- ASP.NET MVC4 入門簡介ASP.NETMVC
- ASP.NET MVC4 亂七八糟羅列ASP.NETMVC
- Asp.Net MVC4 系列--基礎篇(1)ASP.NETMVC
- Asp.Net MVC4系列---基礎篇(5)ASP.NETMVC
- Asp.Net MVC4系列---基礎篇(4)ASP.NETMVC
- Asp.Net MVC4系列--進階篇之AJAXASP.NETMVC
- Asp.Net MVC4 系列--進階篇之ViewASP.NETMVCView
- Using NInject Do DI(3) In Asp.net MVC4ASP.NETMVC
- asp.net mvc easyui datagrid分頁ASP.NETMVCUI
- Asp.Net MVC4 系列--進階篇之Model(1)ASP.NETMVC
- Asp.Net MVC4 系列--進階篇之Model(2)ASP.NETMVC
- Asp.Net MVC4 系列-- 進階篇之路由(1)ASP.NETMVC路由
- Asp.Net MVC4 系列--進階篇之路由 (2)ASP.NETMVC路由
- Asp.Net MVC4系列--進階篇之Helper(1)ASP.NETMVC
- Asp.Net MVC4 系列--進階篇之Helper(2)ASP.NETMVC
- ASP.NET MVC4 捆綁(Bundle)技術下的 JavaScriptASP.NETMVCJavaScript
- ASP.NET MVC4中呼叫WEB API的四個方法ASP.NETMVCWebAPI
- 學習ASP.NET的流程ASP.NET
- ASP.NET 學習手記ASP.NET
- easyui學習筆記5—panel載入其他的頁面UI筆記
- Asp.Net MVC4 系列--進階篇之Controller(2)ASP.NETMVCController
- 【Hello CSS】序章-起源CSS
- ASP.NET學習筆記2ASP.NET筆記
- ASP.NET Core RESTful學習理解ASP.NETREST
- Asp.Net 學習資源列表ASP.NET
- 學習心得:asp.net操作cookieASP.NETCookie
- ASP.NET MVC4中用 BundleCollection使用問題手記ASP.NETMVC
- Oracle學習Oracle
- ASP.NET Core 框架本質學習ASP.NET框架
- oracle學習一二Oracle
- oracle學習指南Oracle
- oracle學習列表Oracle
- Oracle Datapump 學習Oracle