MVC5 + EF6 入門完整教程

MiroYuan發表於2014-10-17

第0課 從0開始

ASP.NET MVC開發模式和傳統的WebForm開發模式相比,增加了很多"約定"。

直接講這些 "約定" 會讓人困惑,而且東西太多容易忘記。

和微軟官方教程不同,筆者儘量不用腳手架,從空白框架開始,一步一步新增功能,每次新增的東西剛好夠用,讓大家能真正能用起來,理解每一個過程。

文章提綱

  • 概述
  • 核心概念介紹
  • 從空白開始,建立一個基本框架詳細步驟

概述

  1. 本系列文章及文章中的例子主要基於微軟官方文件
  2. 使用工具 : VS2013 + MS SQL 2012
  3. 開始主要講解MVC + EF搭配使用,後續同樣也會提供MVC + ADO.NET的實現方案

核心概念介紹

MVC,Model – View – Controller 的簡寫

Model 封裝業務邏輯相關的資料及對資料的處理方法

View 向使用者提供互動介面

Controller 負責控制Model和View

看下面這張圖。目前只要理解這一個概念就可以了,下面就開始建一個空框架,從做中學。

 

從空白開始,建立一個基本框架詳細步驟

  1. 新建專案

 

 

NOTE:模板要選Empty,如果直接選MVC會產生多餘程式碼。

NOTE:上圖方框處正好對應於M, V, C

到此為止,就建立了一個最基本的MVC解決方案,基本是空的。

我們簡單介紹下其中的RouteConfig.cs檔案

開啟Global.asax, 注意到在程式啟動的時候註冊了路由規則,如下方框處。

下面我們就看下具體的路由規則。開啟RouteConfig.cs檔案

注意到裡面有個靜態方法,這就是對映路由的控制,這個方法定義了路由規則。

其中:url: "{controller}/{action}/{id}"定義了URL的格式。

後續會結合實際的URL地址來講解。

 

  1. 新增一個示例

先不管Model, 我們先建立Controller和View

  1. 新增Controller

右鍵Controllers資料夾,按圖示新增。

控制器必須以Controller結尾(這是ASP.NET MVC的一個約定)。

後續文章會講使用者登入的例子,所以這裡先建一個AccountController.

新增後會發現多了下圖方框處的類和資料夾。

我們開啟新建的AccountController.cs看下,自動生成了一個方法

public ActionResult Index()

{

return View();

}

我們稱這個Index為一個Action,返回型別為ActionResult.

可以看到,這個Action返回了一個View, 我們現在來建立這個View

  1. 新增View

新增View有兩種方法,一種是直接在Views資料夾下新增(右鍵ViewsàAccount資料夾)

另外一種是通過Controller中的Action來新增。這次我們採用後一種方法。

開啟AccountController, 右鍵Index方法,按圖示新增。

這樣就新增了一個和特定的Controller和Action(這裡指AccountController和Index)相對應的View(ViewsàAccountàIndex.cshtml)

 

這個View就是最終顯示的前端頁面,我們在Body裡面新增一行字。

右鍵Index.cshtml,在瀏覽器中檢視可以看到熟悉的HTML介面了。

注意瀏覽器中的地址 xx/Account/Index

這個地址與開頭的路由規則(url: "{controller}/{action}/{id}"就對應了起來,應該很容易理解吧。

 

典型的一個執行過程。

  1. 網址路由比對
  2. 如成功,執行相應的Controller與Action
  3. 執行相應的View並返回結果

記住這個過程。後面的過程都會在這個簡單的過程中進行擴充套件。

 

總結

MVC比之前的WebForm開發方式做了很大改變,分離更徹底。

本次文章主要是讓大家建立ASP.NET MVC的基本觀念。

下篇文章主要介紹View的UI設計,介紹一些重點的HtmlHelper, 從前端開始容易看到效果。

後續所有的文章都會以這個示例進行擴充套件,有問題歡迎大家評論:)

 

為方便大家觀看,列出系列文章地址:

 

相關文章