MVC5 + EF6 入門完整教程一
第0課 從0開始
ASP.NET MVC開發模式和傳統的WebForm開發模式相比,增加了很多"約定"。
直接講這些 "約定" 會讓人困惑,而且東西太多容易忘記。
和微軟官方教程不同,筆者儘量不用腳手架,從空白框架開始,一步一步新增功能,每次新增的東西剛好夠用,讓大家能真正能用起來,理解每一個過程。
文章提綱
- 概述
- 核心概念介紹
- 從空白開始,建立一個基本框架詳細步驟
概述
- 本系列文章及文章中的例子主要基於微軟官方文件
- 使用工具 : VS2013 + MS SQL 2012
- 開始主要講解MVC + EF搭配使用,後續同樣也會提供MVC + ADO.NET的實現方案
核心概念介紹
MVC,Model – View – Controller 的簡寫
Model 封裝業務邏輯相關的資料及對資料的處理方法
View 向用戶提供互動介面
Controller 負責控制Model和View
看下面這張圖。目前只要理解這一個概念就可以了,下面就開始建一個空框架,從做中學。
從空白開始,建立一個基本框架詳細步驟
-
新建專案
NOTE:模板要選Empty,如果直接選MVC會產生多餘程式碼。
NOTE:上圖方框處正好對應於M, V, C
到此為止,就建立了一個最基本的MVC解決方案,基本是空的。
我們簡單介紹下其中的RouteConfig.cs檔案
開啟Global.asax, 注意到在程式啟動的時候註冊了路由規則,如下方框處。
下面我們就看下具體的路由規則。開啟RouteConfig.cs檔案
注意到裡面有個靜態方法,這就是對映路由的控制,這個方法定義了路由規則。
其中:url: "{controller}/{action}/{id}"定義了URL的格式。
後續會結合實際的URL地址來講解。
-
新增一個示例
先不管Model, 我們先建立Controller和View
-
新增Controller
右鍵Controllers資料夾,按圖示新增。
控制器必須以Controller結尾(這是ASP.NET MVC的一個約定)。
後續文章會講使用者登入的例子,所以這裡先建一個AccountController.
新增後會發現多了下圖方框處的類和資料夾。
我們開啟新建的AccountController.cs看下,自動生成了一個方法
public ActionResult Index()
{
return View();
}
我們稱這個Index為一個Action,返回型別為ActionResult.
可以看到,這個Action返回了一個View, 我們現在來建立這個View
-
新增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}")就對應了起來,應該很容易理解吧。
典型的一個執行過程。
- 網址路由比對
- 如成功,執行相應的Controller與Action
- 執行相應的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資料模型的搭建和使用。 基於這個模型,將之前的示例新增資料庫查詢驗證功能。 文章提綱 概述 & 要點 詳細步驟 總結 概述 & 要點 下面是本文要點,正文部分會有