新建项目

打开VS2015,找到菜单项[文件->新建->项目],打开向导对话框:

注意我们的选择项:

运行平台:.NET FrameWork 4.5

项目模板:ASP.NET Web Application (.NET Framework)

项目名称:AspNetMvc.QuickStart,如果你在跟着本教程练习,建议起相同的项目名称,方便直接拷贝代码到你的项目中。

点击[确定]按钮,向导会带我们到另一个选择对话框:

由于本教程是快速入门,所以我们从最简单的入手,只勾选必需的选项:

不进行身份验证。ASP.NET MVC提供了完善的身份验证方案,我们会有单独的文章讲解。

仅勾选 MVC 引用。

点击[确定],VS2015会创建一个可直接运行的项目,按下快捷键[Ctrl+F5],不调试直接运行:

默认的目录结构如下:

如果你之前在WebForms下进行开发,对其中的一些文件夹和文件应该很熟悉了:

Web.config:项目配置文件,里面保存项目配置参数以及数据库连接字符串。

packages.config:Nuget配置文件

Global.asax:全局代码文件,提供应用程序级别以及会话级别的事件处理函数,可以在Application_Start中注册全局变量。

favicon.ico:浏览器地址栏图标,在HTML的head标签中引用。

App_Data:放置本地数据库文件,比如LocalDB生成的数据库文件。

下面几个文件夹,用来放置静态文件,从名称就可以方便的猜出其用途:

Scripts:放置静态脚本文件,比如jQuery等。

fonts:放置图标字体文件,比如流行的FontAwesome字体等。

Content:放置静态文件,比如xml文件、Bootstrap的CSS库。

下面几个文件是ASP.NET MVC新引入的:

App_Start:用来放置应用初始化类,这个是MVC4引入的一个命名约定,其实这就是一个普通的文件夹,没有特殊的含义。

Controllers:控制器类。

Models:模型类,比如EF CodeFirst的模型定义。

Views:视图文件,最初的视图引擎是WebForms View Engine,使用和ASPX文件相同的语法,而现在用的Razor视图引擎是MVC3引入的,以cshtml为后缀。

页面流程

首先看下 [About]页面:

这个页面之所以能够呈现在我们眼前,经历了三个主要流程:

MVC的路由引擎根据URL查找相应的控制器(HomeController.cs)。

控制器的操作方法About准备数据,然后传入视图Home/About.cshtml。

视图准备HTML片段,放入布局页面并返回浏览器。

路由引擎->控制器

一切还得从Global.asax中说起,在其中的应用程序启用事件中,我们需要注册路由处理器:

protected void Application_Start()

{

AreaRegistration.RegisterAllAreas();

FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

RouteConfig.RegisterRoutes(RouteTable.Routes);

BundleConfig.RegisterBundles(BundleTable.Bundles);

}

RouteConfig.cs类位于App_Start文件夹中,我们来看下内容:

public class RouteConfig

{

public static void RegisterRoutes(RouteCollection routes)

{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(

name: "Default",

url: "{controller}/{action}/{id}",

defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

);

}

}

这里注册一个名为Default的路由规则,对应的URL是{controller}/{action}/{id},这里三个占位符分别表示:

{controller}:控制器,默认是Home,对应的控制器类是HomeController.cs。

{action}:控制器里面的方法,默认是Index。所以如果用户直接通过http://localhost/访问系统时,默认调用Home控制器中的Index方法处理。

{id}:参数ID,可选项,这个参数对应于操作方法中的id参数。

mvc5 ef mysql_ASP.NET MVC快速入门之数据库操作(MVC5+EF6)[第一篇][上] | Rickytsang洛水寒...相关推荐

  1. .net mvc html访问数据库,【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) - 三生石上...

    图挂了的说明: 我是在Word中写的本系列文章,然后转成的HTML,所以图片都存在于 fineui.com 服务器,由于临时访问量太多,服务器喘不过气了.... 你可以稍后访问,实在是抱歉...... ...

  2. apache2.4.9 开启path_info访问_【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)...

    新建项目 打开VS2015,找到菜单项[文件->新建->项目],打开向导对话框: 注意我们的选择项: 运行平台:.NET FrameWork 4.5 项目模板:ASP.NET Web Ap ...

  3. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  4. php tp3 操作绑定到类,快速入门 17:操作绑定到类

    # 快速入门(十七):操作绑定到类 如果你的应用规模比较大,每个操作方法彼此相对独立,那么就可以尝试下操作绑定到类的功能. ## 定义 系统提供了把每个操作方法定位到一个类的功能,可以让你的开发工作更 ...

  5. Thymeleaf 3 – Thymeleaf 3和Spring MVC快速入门

    Thymeleaf 3发布到达. 新版本带来了许多新功能,例如HTML5支持以及不带标记的文本模板支持– [# th:utext="${thymeleaf.version}" /] ...

  6. Spring MVC快速入门

    今天给大家介绍一下Spring MVC,让我们学习一下如何利用Spring MVC快速的搭建一个简单的web应用. 环境准备 一个称手的文本编辑器(例如Vim.Emacs.Sublime Text)或 ...

  7. 2引擎帮助文档_ANSA快速入门指南中文帮助文档浅析(上)

    作者 | 团长 仿真秀科普作者 首发 | 仿真秀公众号(ID:fangzhenxiu2018) 导读:本文是ANSA入门系列第一篇(后续将会在仿真秀官网或APP同步发布).本系列致力于提供ANSA软件 ...

  8. 快速入门Sqlite数据库应用

    现在可移动通信设备.物联网.可穿戴智能设备,智能手机盛行,其主流操作系统均采用Android或MacOS,为存储App程序的数据,系统允许App单独使用其私有的SQLite数据库.这篇入门文章不仅提供 ...

  9. 大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

    大数据技术之_20_Elasticsearch学习_01 一 概述 1.1 什么是搜索? 1.2 如果用数据库做搜索会怎么样? 1.3 什么是全文检索和 Lucene? 1.4 什么是 Elastic ...

最新文章

  1. 关于Ping命令的问题
  2. c#设计模式学习1之工厂模式
  3. 后缀自动机(SAM)构造实现过程演示+习题集锦
  4. C++笔记-基于邻接表的BFS(宽度优先遍历)
  5. 《汇编语言》王爽—实验五详解
  6. 负数乘以正数溢出问题
  7. jq封装接口ajax,jquery ajax方法封装及api文件设计的代码示例
  8. [转]ASP.NET 页生命周期概述
  9. 猫叫了,老鼠跑了!(复习委托和事件)
  10. 一篇别人写的Kmp算法的讲解,多看多得
  11. 编译OpenJDK8:NMAKE : fatal error U1077
  12. python实时检测键盘输入函数
  13. 微服务大战:Spring启动大战。 Ballerina
  14. 延时1us程序12mhz晶振c语言,51单片机12M晶振的延时程序
  15. sim卡与imei号和手机号码之间的关系
  16. LinuxRaid的基本知识点
  17. CyclicBarrier让多线程齐步走
  18. 11kw星三角启动延时几秒_星三角时间继电器延时时间
  19. 403 Forbidden错误的原因和解决方法(转)
  20. 禁用笔记本触控板驱动,禁用联想笔记本触控板驱动,Alps Touch pad 驱动

热门文章

  1. 纯css写下拉箭头,三角,半圆。
  2. 使用python处理wps表格_【使用Python操作XLS文件+wps中叫et+】 - #1
  3. 马斯克:特斯拉汽车卡拉OK功能即将推出
  4. 【查找算法】二叉排序树查找法
  5. 线程同步的注解:@ThreadSafe、@Immutable、@NotThreadSafe、@GuardedBy
  6. slf4j配置与解析
  7. Linux基础系列修炼---笔记1
  8. Arduino基础入门篇06—流动的LED灯
  9. 马云称经济今明两年最严峻
  10. 那些让人睡不着觉的bug,你有没有遭遇过?