ASP.NET下的MVC从原始的1.0走到2.0,再到3.0,现在走到4.0,也许明年5.0就问世了,先不管那些,那说说这些MVC在ASP.NET是如何变化发展的。对于。net编程人员来说可能会很熟悉,也有可能不熟悉,我过去做。net一年多,没听说过这个概念,但是昨天看别人的博客(博主书这是。net一个公司的面试题),忽然对这个问题产生了兴趣,于是研究研究,研究的不是很深,供初学者有个浅显的认识。欢迎高手拍砖指导,希望能把一篇入门的文章写的尽善尽美。

  Asp.netMVC理解:ASP.NETMVC Framework是微软在ASP.NET中所添加的一组类别库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序。MVC特色和优点在这不详细介绍了(ASP.NET MVC:http://baike.baidu.com/view/1980463.htm

  MVC2.0

  MVC2.0的新特性主要有:

  1.Areas:允许组织多个逻辑层,便于团队开发。

  2.UIHelpers:可以使用strongly-typedhelpers修改和展示数据,更易于维护旧有程序,从而提供高开发效率。

  3.服务器端验证:可以使用声明式注解定义模型的验证规则。

  4.客户端验证:自动产生基于模型验证的客户端验证。

  MVC3.0

  新特性重点解析:

  ASP.NETMVC3.0带来了一个新名为Razor视图引擎,其提供以下优点:

  一、新加技术或属性

  1. 支持多视图引擎:在新建项目对话框中,你可以指定项目默认的视图引擎。

  2. ActionResult类型:MVC3.0中ActionResult新添加的

  3. 远程验证:一个新标签RemoteAttribute对jQuery.Validate插件的远程验证提供支持。

  二、属性的改进:

  1. 新的ViewBag属性:将MVC2.0中的ViewData属性改变为MVC3.0中ViewBag来更加简单的完成。

  三、技术的改进:

  1. 控制器改进:允许你将过滤器加入到GlobalFilters集合中区来创建全局的过滤器,也就是说提供过滤器等功能例如:Filter功能,在执行Action之前先执行了转化字符集的filter或者监听器等,纵向切入型技术。

  2. JavaScript和Ajax改进:新添Javascript库,验证助手默认使用的是jQuery.Validate插件完成。

  3. ValidationAttribute类:在。NETFramework4中改进了ValidationAttribute类支持新的IsValid重载

  4. 默认启用了客户端验证

  5. Model验证的改进

  6. 接口验证

  MVC4.0

  重点分析:新添WebAPI,Mobile Application,以及Single Page Application.

  WebAPI与SinglePage Application之中,目前view只支持Razer语法。

  WebAPI:其实就是一中建立在RESTful服务基础上的平台,当然一定是HTTP的协定。当您建立好一个空的Web API的MVC项目后,在Controller中你会出现一个新的类别ApiController设定,它先帮你制作 Get(), Post(),Put(), Delete() 等方法,其中 Get() 有一个是Overloading传回IEnumerable<T> 的方法,这也是Web API主要强大的特性之一,强行别的HttpWebRequest.

  首先JQuery以及其他的一些脚本版本进行了升级,当然也移除了微软自己的AJAX库。使用HTML5来布局。

  ASP.NET Web API(支持Rest风格接口)

  ASP.NET Single Page Application(单页面应用程序)

  Enhancements to Default Project Templates(完善了项目模板)

  Mobile Project Template(手机项目模板)

  当昨天看到那片文章的时候自己感觉:不怕不知道就怕不知道。虽然这些特征都是一些技术的更新,没有技术的应用,感觉很空,但是当有人问你这个问题的时候,自己又说不出来。哎呀,还是好好学习写总结吧,不知道的太多了,昨天刚听说ASP.NET MVC3.0,自己学ASP.NET的时候也没有听说过这个东西,今天听说了,也了解到了,微软公司的FrameWork4.5框架很强大,自己不懂的还很多很多。

摘自:http://blog.csdn.net/ymnets/article/details/7653144

MVC学习笔记1-MVC家族间的区别的更多相关文章

  1. Spring MVC 学习笔记 spring mvc Schema-based configuration

    Spring mvc 目前支持5个tag,分别是 mvc:annotation-driven,mvc:interceptors,mvc:view-controller, mvc:resources和m ...

  2. 1.2(Spring MVC学习笔记) Spring MVC核心类及注解

    一.DispatcherServlet DispatcherServlet在程序中充当着前端控制器的作用,使用时只需在web.xml下配置即可. 配置格式如下: <?xml version=&q ...

  3. MVC学习笔记:MVC实现用户登录验证ActionFilterAttribute用法并实现统一授权

    在项目下新建一个文件夹来专门放过滤器类,首先创建一个类LoginFilter,这个类继承ActionFilterAttribute.用来检查用户是否登录和用户权限.: using System; us ...

  4. ASP.NET MVC 学习笔记之 MVC + EF中的EO DTO ViewModel

    EO: Entity Object 就是EF中的实体类, 对EO的操作会对数据库产生影响. DTO: Data Transfer Object 数据传输对象.用于在各层之间传递数据的普通类,DTO有哪 ...

  5. ASP.NET MVC 学习笔记之View 和Redriect的区别

    首先先说一下Redriect 和RedirectToAction 两个没什么区别,都是向浏览器发送302 Found相应,再有浏览器向对应的url进行请求 只是参数的意义不同而已 再说Redirect ...

  6. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  7. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  8. MVC学习笔记索引帖

    [MVC学习笔记]1.项目结构搭建及单个类在各个层次中的实现 [MVC学习笔记]2.使用T4模板生成其他类的具体实现 [MVC学习笔记]3.使用Spring.Net应用IOC(依赖倒置) [MVC学习 ...

  9. ASP.NET MVC学习笔记-----Filter2

    ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...

  10. ASP.NET MVC学习笔记-----Filter

    ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter Au ...

随机推荐

  1. 重新学习WCF

    近来工作不怎么忙,一直在想一个问题,今年刚刚毕业,对于我们这应届生到底应该学习那些技术呢? 面对着现在技术横生,到底哪项是适合自己的呢?自己一直都在迷茫,若有那位大神再次经过,望给出您宝贵的建议. 最 ...

  2. unity 双面shader

    Shader "Custom/DoubleFace" { Properties {         _Color ("Main Color", Color) = ...

  3. unity中锁定鼠标移动&&隐藏鼠标&&强制是鼠标移动到某一位置

    [System.Runtime.InteropServices.DllImport("user32.dll")] //引入dll public static extern int ...

  4. C语言 extern学习2 分析

    上一篇文章中,通过头文件声明,而调用有一个特别大的漏洞: 为什么编译器可以链接过来呢,因为默认是extern修饰的,这种类似全局作用域的功能使其可以被调用 继续加强学习: 这一次有两对C文件: fir ...

  5. js DOM操作---登录例子总结

    简单的总结下用 javascript DOM 实现简易登录框例子,下面是简单的模拟登录,没有具体的登录样子,但只是模拟,整理下思路. 页面简单布局,我这个确实太简单了,看代码: <body> ...

  6. 读书笔记 effective c++ Item 16 成对使用new和delete时要用相同的形式

    1. 一个错误释放内存的例子 下面的场景会有什么错? std::]; ... delete stringArray 一切看上去都是有序的.new匹配了一个delete.但有一些地方确实是错了.程序的行 ...

  7. Omi实战-QQ附近用户列表Web页

    原文地址https://github.com/AlloyTeam/omi/blob/master/docs/cn_pr_nearby.md 写在前面 Omi很适合大型复杂的Web页面开发,例如一些We ...

  8. web及H5 的链接测试

    1:先下载一个Xenu工具 2:安装完成之后,进入页面(将弹出框关闭) 3:进行设置(一般不用修改设置) 4:修改完成之后点击工具栏中的file按钮,并输入想要测试的URL地址 5:点击OK测试完成之 ...

  9. List实现行转列的通用方案

    最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...

  10. Javascript原型链和原型继承

    哇好久都没有写随笔啦,整个人都慵懒啦. 为了不让大家忘记我,把以前写过的一些慢慢发出来. 在JS 中, 有两条链子,作用域链 和 原型链. 作用域链相对容易理解,两点 - 函数限定变量作用域,就是说, ...