MVC5 + EF6 入门完整教程

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

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

posted on 2014-12-15 12:59 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/4164605.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

160 - 31 cracking4all.2

环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 无壳VB程序 测试 输入1234567 OD载入字符串搜素,往上翻就看到这里,我截取部分片段: 00402C26 . 8D55 98 lea edx,dword ptr ss:[ebp-0x68] ; 取serial长度…

stm32的DFU使用方法

stm32的dfu看上去是个很高级的东西,似乎可以通过USB给内部flash、外部spi flash、外部nor等东西刷写数据、把数据读出来,但是用了一下感觉确实有点麻烦。 先不管原理是怎样的,使用方法是这样: 1、先下载这个Dfuse,然后…

160 - 32 genocide1

环境 Windows xp sp3 工具 upx exeinfope ollydbg 查壳 发现是upx壳,手脱的话会不干净,影响OD分析。 所以就直接用 upx -d 脱了 手脱: upx -d: 用upx -d 脱的版本进行分析。 第一次运行时显示这个: 缺少Reg.dat…

vector function trmplate

/*vectorfunction templateprogrammer:qpz */ #include <iostream> #include <vector> #define MAX 10 using namespace std; class Myclass{ private:vector <int> vel;//可均分的动态数组 public:void Add(int x){vel.push_back(x);}void print(); }; void…

软件工程个人项目11061180王宇杰

&#xff08;1&#xff09;我完全不知道要花费多少时间&#xff0c;因为从来没有进行过类似的项目&#xff0c;涉及的很多问题我以前也根本不会。简单的估计一下&#xff0c;这至少是15小时的工作量。 &#xff08;2&#xff09;前期的准备工作很耗时间&#xff0c;因为一开始根…

160 - 33 Cruehead.1

环境 windows xp sp3 工具 exeinfo pe ollydbg 查壳 无壳的汇编程序&#xff08;OD载入的出来的&#xff09; 测试 当name输入为数字时&#xff0c;会弹出两次错误框。 OD载入搜字符串&#xff0c;发现有两个地方&#xff1a; 0040134D /$ 6A 30 push 0x…

mac osx 10.10 pip 安装问题

在mac osx 升级到 10.10(Yosemite)以后&#xff0c;用pip以及easy_install 安装python包的时候&#xff0c;如果包需要编译&#xff0c;就会编译失败&#xff0c;错误如下&#xff1a; build/temp.macosx-10.10-x86_64-2.7/greenlet.o -o build/lib.macosx-10.10-x86_64-2.7/gr…

英文系统上网页内容乱码的解决

今天随便写了一段html 代码示例&#xff0c;代码如下&#xff1a; <html lang"zh-cn"> <head> </head> <body> <h1>HTML 教程目录</h1> <ul> <li><a href"#C1">第一章</a></li> <li…

160 - 34 Cruehead.3

环境 windows xp sp3 工具 1.exeinfo pe 2.ollydbg 3.WinHex 查壳 和上一个一样&#xff0c;OD载入判断出 测试 运行后发现是没有任何提示&#xff0c;而且没有输入serial的窗口&#xff0c;通过任务管理器可以看出程序的名称写有“Uncracked”&#xff0c;可以猜测…

sed awk tr等文本处理命令

指定行范围替换&#xff1a; sed -i "520,950s/\(.*\)\(HOST_CMD_.*\)\(,\)/\1{ \2, \"\2\" },/g" hostCmdMacro.h linux shell sed命令与转义字符 A“2013/06/09“ sed “s#hello#$A#" sed 指定行范围匹配 删除文本中的重复行(sortuniq/awk/sed) 263…

160 - 35 cupofcoffe.1

环境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 OD载入后可以看出是VB程序 测试 输入&#xff1a;12345678 显示的内容发生了改变&#xff0c;也不影响查找字符串。 004FEC14 > \8B4D E8 mov ecx,dword ptr ss:[ebp-0x18] 004FEC17 . 51 …

centos7 安装mysql

http://my.oschina.net/u/919612/blog/310533 测试可用 随后又想到了&#xff0c;做个iso镜像&#xff0c;然后挂载在CDrom上&#xff0c;然后安装JDK成功&#xff0c;但是mysql安装失败&#xff0c;可能由于只从官网上下载了server&#xff0c;而没有解决依赖关系。 最后&…

ecshop后台增加模板页的方法

CShop的动态模板机制是一个非常灵活的系统,管理员可以在后台根据自己的要求调整模板模块的显示位置。本文详细讲解了如何修改ECSHOP内部结构使得用户可以添加自己的模板页从而方便灵活的使用系统自带的模板系统和广告位系统。 如下图所示 可以看到ECShop支持设置的模板一共如上…

160 - 36 cupofcoffe.2

环境 Winows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 OD载入后看出是VB程序 测试 输入&#xff1a;12345678 继续OD搜字符串&#xff1a; 00521688 . 68 60054500 push cupofcof.00450560 ; UNICODE ".........." 0052168D …

使用VS2010 + VirtualDDK 调试驱动

总的说来比 WINDBG要简单的多 可以看到详细的调试内容 但是好像不知道怎么弄成一般的工程 待定今天玩了一下 感觉还是有点麻烦 网站&#xff1a; http://techird.blog.163.com/blog/static/1215640362011112385241568/ 转载于:https://www.cnblogs.com/zcc1414/p/3982457.html…

160 - 37 CyberBlade.1

环境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 OD载入是VB程序。 测试 OD载入直接搜字符串。 这个是当输入为空时会弹出消息框告诉你要输入9个字符。 0040E005 > \8B4D E4 mov ecx,dword ptr ss:[ebp-0x1C] 0040E008 . 51 push…

恢复回收站里一篇文章 --我的实习生涯

今天想恢复我回收站里的一篇日志竟然没这功能&#xff0c;无奈只好ctrlv出来了。半年前的文章&#xff0c;现在已经就业了&#xff0c;工作挺开心的。。。原文如下: 今天是年前的最后一个周6&#xff0c;公司的SVN掉了&#xff0c;我就卖卖呆在CSDN上瞎转转&#xff0c;也写写…

Score Inflation USACO 3.1

完全背包足以,参照完全背包最优解就过了 /*ID: hubiao cavePROG: inflateLANG: C*/#include<iostream>#include<fstream> #include<cstring> #include<string>using namespace std;int main(){ifstream fin("inflate.in");ofstream fout(&qu…

160 - 38 CyberBlade.2

环境 Windows xp sp3 工具 1.VBExplorer 2.ollydbg 查壳 OD载入往上翻可以看出是vb程序&#xff0c;看到 00401042 .- FF25 60104100 jmp dword ptr ds:[<&MSVBVM50.MethCallEngine>] ; MSVBVM50.MethCallEngine 可以知道是p-code的了 测试…

160 - 39 damn

环境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 OD加载就知道有壳了&#xff0c;可以esp定律直接脱掉 exeinfoPE查壳&#xff1a; 测试 点击LOCKED图片会弹出消息框&#xff0c;Register注册按钮无法点击&#xff01; 猜测Register按钮会在输入正确的nam…