MVC5 + EF6 入門完整教程

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   ar   os   使用   for   

原文:MVC5 + EF6 入門完整教程

第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, 從前端開始容易看到效果。

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

MVC5 + EF6 入門完整教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.