原文:https://www.cnblogs.com/miro/p/4030622.html

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

转载于:https://www.cnblogs.com/zhang1f/p/11118800.html

MVC5 + EF6 入门完整教程相关推荐

  1. MVC5+EF6 入门完整教程七

    原文:MVC5+EF6 入门完整教程七 本篇我们针对表格显示添加一些新功能. 前面我们已经讲解过表格显示数据了,现在我们添加三个常用功能: 对显示结果进行排序.过滤.分页. 文章提纲 理论基础/前置准 ...

  2. MVC5+EF6 入门完整教程十

    原文:MVC5+EF6 入门完整教程十 本篇是第一阶段的完结篇. 学完这篇后,你应该可以利用MVC进行完整项目的开发了. 本篇主要讲述多表关联数据的更新,以及如何使用原生SQL. 文章提纲 多表关联数 ...

  3. MVC5+EF6 入门完整教程 总目录

    本系列文章会从一个主干开始,逐渐深入,初步规划30篇.初级10篇,中级10篇,综合项目实战10篇 初级10篇 MVC5+EF6 入门完整教程10:多对多关联表更新&使用原生SQL@201505 ...

  4. MVC5+EF6 入门完整教程四

    MVC5+EF6 入门完整教程四 原文:MVC5+EF6 入门完整教程四 上篇文章主要讲了如何配置EF, 我们回顾下主要过程: 创建Data Model à 创建Database Context à创 ...

  5. MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用

    MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用 原文:MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用 摘要: 第一阶段1~10篇已经覆盖了MVC开发必要的基本知识. ...

  6. MVC5+EF6 入门完整教程六

    本篇我们谈谈分部视图(Partial View). 上篇文章提到过Partial和Action这两个helper, 本篇文章主要就结合这两个helper来讲解分部视图(Partial View)的应用 ...

  7. MVC5+EF6 入门完整教程6 :分部视图(Partial View)

    本篇我们谈谈分部视图(Partial View). 上篇文章提到过Partial和Action这两个helper, 本篇文章主要就结合这两个helper来讲解分部视图(Partial View)的应用 ...

  8. MVC 5 + EF6 入门完整教程14 -- 动态生成面包屑导航

    MVC 5 + EF6 入门完整教程14 -- 动态生成面包屑导航 原文:MVC 5 + EF6 入门完整教程14 -- 动态生成面包屑导航 上篇文章我们完成了 动态生成多级菜单 这个实用组件. 本篇 ...

  9. c# mvc5 view 多层_MVC5+EF6 入门完整教程13 -- 动态生成多级菜单

    稍微有一定复杂性的系统,多级菜单都是一个必备组件. 本篇专题讲述如何生成动态多级菜单的通用做法. 我们不用任何第三方的组件,完全自己构建灵活通用的多级菜单. 需要达成的效果:容易复用,可以根据mode ...

最新文章

  1. linux设备驱动第一篇:设备驱动程序简介
  2. linux序列比对程序,序列比对软件简单使用教程
  3. CSTrackV2解读
  4. iOS开发如何实现消息推送机制
  5. php 面向对象 教程,PHP学习笔记之面向对象设计_PHP教程
  6. Overload重載和Override重写的区别。Overloaded的方法是否可以改变返回值的类型?
  7. python not in range1002无标题_Python中偶尔遇到的细节疑问(一):去除列名特殊字符、标准差出现nan、切片索引可超出范围、range步长、众数...
  8. 相机标定(3) opencv中solvePnPRansac()和solvePnP()计算外参数
  9. 【docker】为docker下的php容器安装php-redis扩展【编译安装】
  10. 51单片机超声波测距和报警+Proteus仿真
  11. css 之水平居中对齐
  12. 播布客里小布老师的全部视频收集
  13. 农村配电设施存在的安全隐患及应采取的措施130637
  14. 有自学能力的人,赚钱极其简单—聚财云库
  15. vba 添加outlook 签名_如何在Office 365中为VBA宏创建自签名数字证书
  16. c++动态规划法求解斐波那契数列
  17. python向量运算_2 向量的运算在Python中的实现
  18. MATLAB 2020a的参考安装教程
  19. spark-sql 指定metastore地址、读取mysql
  20. 服务器基础知识【初学者必看】

热门文章

  1. 工作区 暂存区 版本库之间的关系
  2. ECharts概念学习系列之ECharts是什么?
  3. Too many links;mkdir
  4. Linux中expect的命令的使用
  5. 贾斯帕马斯基林的故事笔记
  6. Management of your data
  7. Artificial Intelligence and Change Management
  8. ways for partner
  9. 软件开发的“黑名单”规则设定:benchmark
  10. 第一次能够在电影开场前20分钟到的经历:感谢滴答清单