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并返回结果

记住这个过程。后面的过程都会在这个简单的过程中进行扩展。

 

总结

MVC比之前的WebForm开发方式做了很大改变,分离更彻底。

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

下篇文章主要介绍View的UI设计,介绍一些重点的HtmlHelper, 从前端开始容易看到效果。

后续所有的文章都会以这个示例进行扩展,有问题欢迎大家评论:)

时间: 2024-10-05 22:52:09

MVC5 + EF6 入门完整教程的相关文章

MVC5+EF6 入门完整教程六

原文:MVC5+EF6 入门完整教程六 本篇我们谈谈分部视图(Partial View). 上篇文章提到过Partial和Action这两个helper, 本篇文章主要就结合这两个helper来讲解分部视图(Partial View)的应用. 文章提纲 理论基础 详细步骤 总结 理论基础 – 分部视图 Partial View指可以应用于View中以作为其中一部分的View的片段(类似于之前的user control), 可以像类一样,编写一次, 然后在其他View中被反复使用. 一般放在"Vi

MVC5 + EF6 入门完整教程二

原文:MVC5 + EF6 入门完整教程二 从前端的UI开始 MVC分离的比较好,开发顺序没有特别要求,先开发哪一部分都可以,这次我们主要讲解前端UI的部分. ASP.NET MVC抛弃了WebForm的一些特有的习惯,例如服务器端控件,ViewState这些东西,让Web回归原始的状态,Web是什么样子就是什么样子.而谈到一个Web Application的UI,涉及到的无非就是html.css. js这些东西. 文章提纲 概述 重要概念介绍 建立 注册/登录UI 步骤(静态页面àViewà功

MVC5+EF6 入门完整教程五

原文:MVC5+EF6 入门完整教程五 上篇文章介绍了EF实现CRUD及一些基本的Html Helpers. 这次我们将会对之前的内容进行一些修改和重构: 引入Bootstrap样式,搭建几类共用的模板页,对UI进行一些改造 分类介绍Html Helpers 完善一些功能 文章提纲 理论基础 UI改造详细步骤 总结 理论基础 -- Bootstrap简介 以下摘自百度百科: Bootstrap是Twitter推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Ja

MVC5+EF6 入门完整教程十

原文:MVC5+EF6 入门完整教程十 本篇是第一阶段的完结篇. 学完这篇后,你应该可以利用MVC进行完整项目的开发了. 本篇主要讲述多表关联数据的更新,以及如何使用原生SQL. 文章提纲 多表关联数据更新 如何使用原生SQL 总结 多表关联数据更新 我们在第四篇文章已经讲过数据的更新了,不过那个是针对单表结构的更新. 这次我们讲下使用EF进行关联数据的更新. 关联数据更新有两种情况: 1.一对多 2.多对多 第一种情况关联表有主外键关联,只要简单的更新外键值就可以了(相当于更新单表),我们主要

MVC5+EF6 入门完整教程七

原文:MVC5+EF6 入门完整教程七 本篇我们针对表格显示添加一些新功能. 前面我们已经讲解过表格显示数据了,现在我们添加三个常用功能: 对显示结果进行排序.过滤.分页. 文章提纲 理论基础/前置准备 详细步骤 总结 前置准备 – 应用之前样式,增加测试数据 我们对之前的Views à Account à Index.cshtml 进行修改以完成今天的示例. 界面样式修改前: 下面对Views à Account à Index.cshtml进行如下修改: 应用布局页 _LayoutAdmin

MVC5+EF6 入门完整教程九

原文:MVC5+EF6 入门完整教程九 前一阵子临时有事,这篇文章发布间隔比较长,我们先回顾下之前的内容,每篇文章用一句话总结重点. 文章一 MVC核心概念简介,一个基本MVC项目结构 文章二 通过开发一个最基本的登录界面,介绍了如何从Controller中获取表单数据 文章三 EF的整个开发过程 文章四 EF基本的CRUD和常用的HtmlHelper 文章五 使用布局页(模板页)改造UI 文章六 分部视图(Partial View) 文章七 排序过滤分页 文章八 不丢失数据进行数据库结构升级

ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用

原文:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html  上一节:ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework 下一节:ASP.NET MVC5 + EF6 + Bootstrap3 (7) Bootstrap的栅格系统 源码下载:点我下载

ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework

原文:ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html  上一节:ASP.NET MVC 5 入门教程 (4) View和ViewBag 下一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 源码下载:点我下载 一.创建Model MVC中

MVC5 + EF6 + Bootstrap3 (7) Bootstrap的栅格系统

原文:MVC5 + EF6 + Bootstrap3 (7) Bootstrap的栅格系统 文章来源: Slark.NET-博客园http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-grid.html  上一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 下一节:ASP.NET MVC5 + EF6 + Bootstrap3 (8) View中的HtmlHelper用法大全(上)  源码下载:点我