目前,MVC已经发布了5个版本,不包括一些临时的版本,为了更好的了解MVC5,知道MVC的发展历程是非常重要的。本篇随笔主要讲解3个版本的内容及其新特性。  

  1、MVC 2,发布日期:2010年3月

    部分主要特点如下:

    •  加入自定义的UI辅助程序
    •  客户端和服务端加入特性的模型认证
    •  强类型的HTML辅助程序
    •  改善的VS开发工具

    增强的API功能特点:

    •  支持将大型应用域的划分
    •  支持异步控制器
    •  通过使用HTML.RenderAction渲染部分页面
    •  许多新的辅助函数、API和实用工具

  2、MVC 3,发布日期:2011年1月

    MVC3 的主要特性如下:

    •  支持Razor视图引擎
    •  支持.NET4数据注解
    • 改进了模型验证
    • 支持依赖项解析(Dependency Resolution)和全局操作过滤器(Global Action Filter)
    • 支持JavaScript,包括非侵入式的Javascript、Jquery和JSON绑定
    • 支持NUGet,用于发布软件和管理整个平台的依赖

  3、MVC 4    

    •  ASP.NET Web API
    • 显示模式
    • 绑定和微小框架
    • 开始支持开源发布

    注意:在MVC4中,使用、App_Start/bundleConfig.cs zhong中列出的默认绑定。如可以从视图代码中删除文件的引用。可以在不更新视图或布局的情况下,添加

  添加版本库和CSS文件的升级。在BundleConfig.css中,添加绑定。

  1. public static void RegisterBundles(BundleCollection bundles)
  2. {
  3. bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
  4. "~/Scripts/jquery-{version}.js"));
  5.  
  6. bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
  7. "~/Scripts/bootstrap.js",
  8. "~/Scripts/respond.js"));
  9.  
  10. bundles.Add(new StyleBundle("~/Content/css").Include(
  11. "~/Content/bootstrap.css",
  12. "~/Content/site.css"));
  13. }

    在布局视图 Layout.cshtml中添加引用。

  1. @Scripts.Render("~/bundles/jquery")
  2. @Scripts.Render("~/bundles/bootstrap")
  3. @RenderSection("scripts", required: false)

    由于不绑定版本号,自动的更新版本库,不需要手动修改引用。

    3、MVC 5 发布日期:2013年10月,同VS2015一同发布

    下面列出了主要特性:

    •  One ASP.NET

       项目类型只有ASp.NET,可以通过Nuget添加MVC。

    • 新的Web项目体验
    •  ASP.NET Identity

       重写了成员和身份验证系统。

    • Bootstrap模板

       重新设计默认的模板,将项目模板运行在流行的Bootstrap框架上

    • 特殊的路由特性

       可以将注解添加到控制器类或操作方法上。

    • ASP.NET基架
    • 身份验证过滤

        新增的身份认证过滤器优先于权限过滤器执行,允许ASP.NET Identity提供的用户申明,以及运行自定义的身份验证逻辑。

    • 过滤器重写

    以上内容是对MVC 2 至MVC 5 的总结,请批评指正。

        

MVC5发展历程,从MVC2谈起的更多相关文章

  1. 【Fiori系列】浅谈SAP Fiori的设计美感与发展历程

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[Fiori系列]浅谈SAP Fiori的设计美 ...

  2. Web UI 技术发展历程

    本文内容 纯文本和静态 HTML 页面 服务器端技术 插件技术--ActiveX.Applet 和 Flash Ajax 异步时代和基于 JavaScript 的 UI 技术 RIA--Adobe F ...

  3. 为什么说 Python 是数据科学的发动机(一)发展历程(附视频中字)

    为什么说 Python 是数据科学的发动机(一)发展历程(附视频中字) 在PyData Seattle 2017中,Jake Vanderplas介绍了Python的发展历程以及最新动态.在这里我们把 ...

  4. C#与C++的发展历程第三 - C#5.0异步编程巅峰

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...

  5. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  6. C#与C++的发展历程第一 - 由C#3.0起

    俗话说学以致用,本系列的出发点就在于总结C#和C++的一些新特性,并给出实例说明这些新特性的使用场景.前几篇文章将以C#的新特性为纲领,并同时介绍C++中相似的功能的新特性,最后一篇文章将总结之前几篇 ...

  7. C#与C++的发展历程第二 - C#4.0再接再厉

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 开始本系列的第二篇,这篇文章中将介绍C#4.0中一些变化,如C++有类似功 ...

  8. Java的发展历程

    Java的发展历程充满了传奇色彩. 最初,Java是由Sun公司的一个研究小组开发出来的, 该小组起先的目标是想用软件实现对家用电器进行集成控制的小型控制装置. 开始,准备采用C++,但C++太复杂, ...

  9. C# 6.0可能的新特性及C#发展历程

    据扯,C# 6.0在不远的将来就发布了,对应的IDE可能是VS 2014(.Net Framework 5.0),因为VS 2013已于2013年10月份发布了,对应的是.Net Franework ...

随机推荐

  1. 微信小程序 分享海报

    const app = getApp(); const template = require('../../template/templates.js'); Page({ /** * 页面的初始数据 ...

  2. Adobe Flex迷你教程 —Flex4全屏显示

    应用场景 1.播放器 我们经常看视频的时候,需要全屏显示,(在flex中这个视频初始化的时候是嵌入到html的iframe中). 2.监控 如下图所示,大多时候我们的监控用的是flex,而树形菜单和标 ...

  3. 【图灵杯 F】一道简单的递推题(矩阵快速幂,乘法模板)

    Description 存在如下递推式: F(n+1)=A1*F(n)+A2*F(n-1)+-+An*F(1) F(n+2)=A1*F(n+1)+A2*F(n)+-+An*F(2) - 求第K项的值对 ...

  4. ASP.NET-ajax.acionlink使用

    Ajax 属性的ActionLink方法可以创建一个具有异步行为的锚标签. ActionLink方法的第一个参数指定了链接文本,第二个参数是要异步调用的操作的名称.类似于同名的HTML辅助方法,AJA ...

  5. [JAVA · 0基础]:3.转义字符

    定义 全部的ASCII码都能够用"\"加数字(通常是8进制数字)来表示.而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\ ...

  6. 去除ListView 上下边界蓝色或黄色阴影

    默认的情况下,在 ListView 滑动到顶部或者是底部的时候,会有黄色或者蓝色的阴影出现.在不同的版本号上解决办法是不同的,在 2.3 版本号之前能够在 ListView 的属性中通过设置 andr ...

  7. thinkphp5项目--个人博客(七)

    thinkphp5项目--个人博客(七) 项目地址 fry404006308/personalBlog: personalBloghttps://github.com/fry404006308/per ...

  8. HDU4825:Xor Sum 解题报告(0/1 Trie树)

    Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数. 随后 Prometheus 将向 Ze ...

  9. 微信小程序领取卡券

    微信小程序领取卡券 标签(空格分隔): php 开发前需要准备的工作 1 小程序和公众号要有绑定 2 小程序和该公众号要绑定到同一个开发平台下 [https://open.weixin.qq.com/ ...

  10. kafka集群安装配置

    1.下载安装包 2.解压安装包 3.进入到kafka的config目录修改server.properties文件 进入后显示如下: 修改log.dirs,基本上大部分都是默认配置 kafka依赖zoo ...