目前,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中,添加绑定。

public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js")); bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
}

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

    @Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@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. [LeetCode] 122. 买卖股票的最佳时机ii best-time-to-buy-and-sell-stock-ii(贪心算法)

    思路: 只要第二天的价格高于第一天,就进行交易.(这样的话就默认可以同一天内先卖出再买进) class Solution(object): def maxProfit(self, prices): & ...

  2. 【codeforces 257D】Sum

    [题目链接]:http://codeforces.com/problemset/problem/257/D [题意] 给你n个数字; 这n个数字组成的数组满足: a[i-1]<=a[i]< ...

  3. 转:让MySQL支持emoji表情

    转自:http://www.cnblogs.com/suifu/p/5848269.html 公司有新要求,ios客户端要上线评论中可以使用emoji表情的功能,在mysql 5.5 之前,UTF-8 ...

  4. NIO框架之MINA源代码解析(一):背景

     "你们的agent占了好多系统的port.把我们的非常多业务系统都给整死了,给我们造成了非常大的损失.要求你们的相关领导下周过来道歉"   --   来自我们的一个客户.   ...

  5. Linux线程相互排斥量--进程共享属性

    多线程中.在相互排斥量和 读写锁的 属性中.都有一个叫 进程共享属性 . 对于相互排斥量,查询和设置这个属性的方法为: pthread_mutexattr_getpshared pthread_mut ...

  6. git ---- 产生冲突的场景 和解决办法

    1.git冲突的场景 情景一:多个分支代码合并到一个分支时: 情景二:多个分支向同一个远端分支推送代码时: 实际上,push操作即是将本地代码merge到远端库分支上. 关于push和pull其实就分 ...

  7. Reading and writing

    A text file is a sequence of characters stored on a permanent medium like a hard drive, flash memory ...

  8. 安卓通过Json注册登录

    对于刚开始做安卓的来说,可能一个好的Demo比什么都来得快,但是最近在做安卓登录注册的时候,发现基本找不到我想要的东西,无奈只好硬着头皮做,好在不负付出,终于搞定,也算是给自己一个交待. 从结构上说, ...

  9. PostgreSQL Replication之第八章 与pgbouncer一起工作(4)

    8.4 提升性能 从一开始考虑pgbouncer的时候,性能就是一个关键的因素.为了确保高性能,有些问题必须认真对待.首先,确保参与您设置的所有节点相互之间的距离较近.这对于降低网络往返时间有很多的帮 ...

  10. mutt发邮件

    在 /etc/Muttrc 文件添加以下内容:   set from="laughingliang@chaincar.com" set use_from=yes set envel ...