最近工作比較不忙,准備學習一些東西,作為一個菜鳥,不斷學習新東西(我不會的東西)充實自己真的很重要,所以整理一下基礎的mvc知識,以備不時之需。呵呵~~
首先感謝原文作者:QLeelulu的文章http://QLeelulu.cnblogs.com/。下面進入正題
一、什么是MVC模式
MVC(Model-View-Controller,模型—視圖—控制器模式)用於表示一種軟件架構模式。它把軟件系統分為三個基本部分:模型(Model),視圖(View)和控制器(Controller)。那么MVC模式和我們熟悉的WebForm模式有什么不同呢?他的各個部分又是怎樣分工的呢?
一個URL請求的是在服務器與該URL對應路徑上的物理文件(ASPX文件或其他),然后由該文件來處理這個請求並返回結果給客戶端。
在MVC中,客戶端的所請求的URL是被映射到相應的Controller去,然后由Controller來處理業務邏輯,或許要從Model中取數據,然后再由Controller選擇合適的View返回給客戶端。
二、創建MVC項目
vs2010默認是asp.net MVC項目模板,需要下載ASP.NET MVC的安裝程序http://www.microsoft.com/downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0-2362BDDE0766&displaylang=en,開始新建項目,這里我選的mvc3,至於mvc2和mvc3有什么區別,希望知道的大神能給予答案

然后我們運行一下項目看看:
三、認識項目
默認的情況下,項目的目錄結構如下:
- App_Data :這個目錄跟我們一般的ASP.NET website是一樣的,用於存放數據。
- Content :這個目錄是建議用來存放一下資源文件的。例如CSS、JS、圖片等等。當然你不願意的話,完全可以不放到這里來。
- Controllers :這個目錄是建議將Controller類都放到這里來,方便管理。Controller類的命名必須以Controller結尾,例如一個名為Home的Controller則要命名為HomeController。
- Models :這個目錄是建議用來存放你的業務實體、數據訪問層代碼的類的。當然,更好的做法我覺得應該是將Models獨立為一個類庫。
- Views :在默認情況下,所有的view文件都必須放到這個目錄下來,每一個Controller對應一個子目錄,而且子目錄的命名必須以Controller的命名一樣。例如,HomeController的view就應該放到Home子目錄中。我們見到Views目錄下還有一個Shared的子目錄,這個子目錄是用於存放一些共享的view的,例如Error.aspx和Site.Master。Controller在Views\ControllerNmae 中找不到指定的view的時候,會到Shared中去尋找。
下面我們來看一下ASP.NET MVC比較核心的DLL,見下圖紅框部分:
System.Web.Routing :URL路由。將一個URL路由到對應的Controller上靠的就是這個。是在HttpModule里面處理的。
System.Web.Extensions :這個是ASP.NET AJAX的。
System.Web.Mvc: ASP.NET MVC最主要的程序集。在CodePlex上放出源代碼的就是這個DLL。
System.Web.Abstractions :這個程序集是一些相關的基類來的。例如HttpContextBase、HttpRequestBase 等等。
Microsoft.Web.Mvc :這個程序集只要放一些MVC的特性與擴展的方法。在ASP.NET MVC beta版中,這個DLL已經被移除,但是如果你需要用到這個DLL的功能,可以到這里下載並引入就可以了。
我們完全可以在VS10中建一個一般的WebAppliction,然后引入這幾個DLL,再配置一下web.config文件,那么就可以成為一個ASP.NET MVC的Application了。





