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框架很强大,自己不懂的还很多很多。

MVC的发展的更多相关文章

  1. [.net 面向对象程序设计深入](4)MVC 6 —— 谈谈MVC的版本变迁及新版本6.0发展方向

    [.net 面向对象程序设计深入](4)MVC 6 ——谈谈MVC的版本变迁及新版本6.0发展方向 1.关于MVC 在本篇中不再详细介绍MVC的基础概念,这些东西百度要比我写的全面多了,MVC从1.0 ...

  2. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  3. [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)

    [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...

  4. 第一章 Web MVC简介

    Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问hao123主页 2.  Web服务器(如Tomcat)接收请 ...

  5. Spring - Web MVC简介

    Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问http://www.cnblogs.com 2.  Web服 ...

  6. ASP.NET MVC5(一):ASP.NET MVC概览

    ASP.NET MVC概览 ASP.NET MVC是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. 1.ASP.NET MV ...

  7. 自行实现高性能MVC WebAPI

    wcf虽然功能多.扩展性强但是也面临配置忒多,而且restful的功能相当怪异,并且目前没法移植.asp.net core虽然支持webapi,但是功能也相对繁多.配置复杂.就没有一个能让码农们安安心 ...

  8. 自行实现高性能MVC

    wcf虽然功能多.扩展性强但是也面临配置忒多,而且restful的功能相当怪异,并且目前没法移植.asp.net core虽然支持webapi,但是功能也相对繁多.配置复杂.就没有一个能让码农们安安心 ...

  9. SpringMVC(1):Web MVC简介

    原文出处: 张开涛 Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问 2.  Web服务器(如Tomcat)接 ...

随机推荐

  1. centos6.4 yum kvm

    1. 安装软件包:   yum -y install virt-manager; yum install qemu-kvm  yum install libvirt yum install libvi ...

  2. hdu3394--Railway(点的双连通分量)

    一个公园中有 n 个景点,景点之间通过无向的道路来连接,如果至少两个环公用一条路,路上的游客就会发生冲突:如果一条路不属于任何的环,这条路就没必要修 问,有多少路不必修,有多少路会发生冲突 每一个连通 ...

  3. A Tour of Go Multiple results

    A function can return any number of results. This function returns two strings. package main import ...

  4. light oj 1153 - Internet Bandwidth【网络流无向图】

    1153 - Internet Bandwidth   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 ...

  5. [置顶] 斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌

    大学期间,我在别人的基础上,写了一个简易的斗地主程序. 主要实现了面向对象设计,洗牌.发牌.判断牌型.比较牌的大小.游戏规则等算法. 通过这个斗地主小项目的练习,提高了我的面向对象设计能力,加深了对算 ...

  6. SRM659 1100pts

    绍一模拟赛的题[问题描述]小Z.小Y和小B拥有

  7. NOI 1998 免费馅饼

    附题目链接:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=4901 时间限制(普通/Java ...

  8. [C#]工具类—FTP上传下载

    public class FtpHelper { /// <summary> /// ftp方式上传 /// </summary> public static int Uplo ...

  9. Android软键盘调用及隐藏,以及获得点击软键盘输入的字母信息

    在Android提供的EditText中单击的时候,会自动的弹出软键盘,其实对于软键盘的控制我们可以通过InputMethodManager这个类来实现.我们需要控制软键盘的方式就是两种一个是像Edi ...

  10. 浅谈C语言中的联合体

    联合体union 当多个数据须要共享内存或者多个数据每次仅仅取其一时.能够利用联合体(union).在C Programming Language 一书中对于联合体是这么描写叙述的: 1)联合体是一个 ...