1. 程式人生 > >MVC5 + EF6 入門完整教程一

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並返回結果

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

相關推薦

MVC5 + EF6 入門完整教程

第0課 從0開始 ASP.NET MVC開發模式和傳統的WebForm開發模式相比,增加了很多"約定"。 直接講這些 "約定" 會讓人困惑,而且東西太多容易忘記。 和微軟官方教程不同,筆者儘量不用腳手架,從空白框架開始,一步一步新增功能,每次新增的東西剛好夠用,讓大

MVC5+EF6 入門完整教程

taf bag details 視圖 clu role pre 階段 驗證 前一陣子臨時有事,這篇文章發布間隔比較長,我們先回顧下之前的內容,每篇文章用一句話總結重點。 文章一 MVC核心概念簡介,一個基本MVC項目結構 文章二 通過開發一個最基本的登錄界面,介紹了如何從C

MVC5+EF6 入門完整教程12--靈活控制Action權限

全局 基本功 -1 str 條件 context tac 完整 suse 大家久等了。 本篇專題主要講述MVC中的權限方案。 權限控制是每個系統都必須解決的問題,也是園子裏討論最多的專題之一。 前面的系列文章中我們用到了 SysUser, SysRole, SysUserR

MVC5+EF6 入門完整教程

好的 ring 改變 替換 使用 需要 註釋 mod num 本篇我們針對表格顯示添加一些新功能。 前面我們已經講解過表格顯示數據了,現在我們添加三個常用功能: 對顯示結果進行排序、過濾、分頁。 文章提綱 理論基礎/前置準備 詳細步驟 總結 前置準備 – 應

MVC5+EF6 入門完整教程

crud 新建 用戶角色 tro mic acc where shtml pos 本篇是第一階段的完結篇。 學完這篇後,你應該可以利用MVC進行完整項目的開發了。 本篇主要講述多表關聯數據的更新,以及如何使用原生SQL。 文章提綱 多表關聯數據更新 如何使用原生SQ

MVC5+EF6 入門完整教程4 :EF基本的CRUD

上篇文章主要講了如何配置EF, 我們回顧下主要過程:建立Data Model à 建立Database Context à建立databaseInitializerà配置entityFramework的context配置節。對這個過程還有疑問的可以去上篇再看一下。本次我們就主

MVC5+EF6 入門完整教程

本篇是相對獨立的一篇,主要講解不丟失資料進行資料庫結構升級。 前面我們講解EF功能時(見第三篇文章)已經介紹過一種更新資料庫的方式: EF比較model和database,如果兩邊不一致,程式將會drop and re-create資料庫。 本篇文章我們會使用 co

MVC5 + EF6 入門完整教程

上篇文章主要講了如何配置EF, 我們回顧下主要過程: 建立Data Model à 建立Database Context à建立databaseInitializerà配置entityFramework的context配置節。 對這個過程還有疑問的可以去上篇再看一下。 本次我們就主要講解 (1)

MVC5+EF6 入門完整教程6 :分部檢視(Partial View)

Partial/RenderPartial和Action/RenderAction的引數分別是 partialView和 Action的名字。當然還有其他的過載函式,我們只說最常用的。應用時可以按照我們前面舉的例子。

MVC5+EF6 入門完整教程2 :從前端UI開始

從前端的UI開始MVC分離的比較好,開發順序沒有特別要求,先開發哪一部分都可以,這次我們主要講解前端UI的部分。ASP.NET MVC拋棄了WebForm的一些特有的習慣,例如伺服器端控制元件,ViewState這些東西,讓Web迴歸原始的狀態,Web是什麼樣子就是什麼樣子。

MVC5+EF6 入門完整教程11--細說MVC中倉儲模式的應用

http://www.cnblogs.com/miro/p/4806199.html 摘要: 第一階段1~10篇已經覆蓋了MVC開發必要的基本知識。 第二階段11~20篇將會側重於專題的講解,一篇文章解決一個實際問題。 根據園友的反饋, 本篇文章將會先對呼聲最高

MVC5+EF6 入門完整教程

上篇文章介紹了EF實現CRUD及一些基本的Html Helpers. 這次我們將會對之前的內容進行一些修改和重構: 引入Bootstrap樣式,搭建幾類共用的模板頁,對UI進行一些改造 分類介紹Html Helpers 完善一些功能 文章提綱 理論基礎

MVC5+EF6 入門完整教程12--靈活控制Action許可權

大家久等了。 本篇專題主要講述MVC中的許可權方案。 許可權控制是每個系統都必須解決的問題,也是園子裡討論最多的專題之一。 前面的系列文章中我們用到了 SysUser, SysRole, SysUserRole 這幾個示例表。 我們以此為基礎,完成RBAC (基於角

MVC 5 + EF6 入門完整教程14 -- 動態生成面包屑導航

maps setting i++ log item 文檔 應該 動態生成 內容 上篇文章我們完成了 動態生成多級菜單 這個實用組件。 本篇文章我們要開發另一個實用組件:面包屑導航。 面包屑導航(BreadcrumbNavigation)這個概念來自童話故事"漢賽爾和格萊特"

ASP.NET + MVC5 入門完整教程三 (上) ---第一個MVC專案

                                第一個MVC應用程式1建立MVC專案開啟VS ,File--新建--專案,選擇ASP Web專案,命名後確認。選擇(Empty)空模板,專案建立完成,會看到 解決方案管理器 視窗顯示一些資料夾,如圖,這是一個MV

MVC5+EF6入門記(二)

key 元素 action 地址 登錄ui acc 場景 stact name 貓和你都歸我 2017/10/01 17:00:29 今天學習了第二課的內容,下面是我總結的知識點,希望會有所幫助,也希望多多指導!一、對專業名詞的解釋Action Method Selec

UNITY 2D入門基礎教程 ()

如果用以前版本的Unity做2D遊戲,雖然能做,但是要費很多周折. 比如你可以將一張紋理賦予一個”面片”網格,然後用指令碼控制它的動畫調整它的位移.如果你要使用物理引擎,那麼還要將這個Obeject處理3D的,所以你還要確保你的Object要有足夠的深度以確保他們在其它軸

Ajax 完整教程-()

Ajax 簡介 Ajax 由 HTML、JavaScript™ 技術、DHTML 和 DOM 組成,這一傑出的方法可以將笨拙的 Web 介面轉化成互動性的 Ajax 應用程式。它是一種構建網站的強大方法。 Ajax 嘗試建立桌面應用程式的功能和互動性,

python入門基礎教程()

1.如何在終端視窗列印訊息? print("Hello World"); 2.如何使用變數儲存資訊,並列印該變數? message = "Hello World";#變數定義無需var,int等操作符 print(message); 3.如何在一

MVC5 + EF6 完整入門教程

期待已久的EF終於來了。 學完本篇文章,你將會掌握基於EF資料模型的完整開發流程。 本次將會完成EF資料模型的搭建和使用。 基於這個模型,將之前的示例新增資料庫查詢驗證功能。 文章提綱 概述 & 要點 詳細步驟 總結 概述 & 要點 下面是本文要點,正文部分會有