1、 ASP.NET MVC 是什么?
ASP.NET MVC是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序(Web Application)框架,它由Castle的MonoRail而来。是将一个Web应用分解为:Model、View和Controller。ASP.NET MVC框架提供了一个可以代替ASP.NET WebForm的基于MVC设计模式的应用。
2、ASP.NET MVC的各个版本
MVC 1.0 :
不成熟的版本略过
MVC 2.0 :
发布时间:(2010年3月)
简介:核心框架还是延续了1.0,但在Visual Studio工具上进行了改善、使用Html.RenderAction支持渲染网页或网站的某一部分等。
MVC 3.0 :
发布时间:(2011年1月)
简介:最大的变化就是,支持Razor视图引擎、有丰富的JS支持(比如Jquery)等
MVC 4.0:
发布时间:(2012年)(随VS 2012一起发布)
简介:MVC 4.0经过几个版本变迁,已经变得非常成熟。增加了手机、Web Api等模板,增加脚本压缩合并,支持HTML5,增加JS库,对EF的支持等。几乎基 于.NET Web项目都进入MVC时代。并进入完全开源时代(MVC之前开放源码,但不支持修改和贡献,4.0是真正意义上的开源)
MVC 5.0:
发布日期:(2013年)
简介:相对于MVC 4.0 MVC进一步优化,WebApi 2.0、增强路由(Attribute Routing)、进一步增强对JS库的支持,包括新增流行的bootstrap等。
MVC 6.0
发布日期:(2016年6月)
简介:
a.跨平台部署开发:这将是一个跨时代的作品,包括.NET 5.0将命名为 Core 1.0,微软为了彻底解耦,拆分了所有功能,把.NET Framework几乎重写了一遍, 兼容老版本同时,支持跨平台部署。
在设计中很多地方借鉴了nodejs。而且将ASP.NET 下子项目开源,(开源地址:https://github.com/aspnet/)。并提供了跨平台开发工具Visual Studio Code,可运行于 Mac OS X、Windows和 Linux 之上。
b.框架整合:MVC 6整合了MVC、WebAPI、WebPage,彻底移除了WebForm。在View上提供Tag Helpers和View Components,真正意义上的前端DOM和JS分离,终于可以看到正常的HTML页面了。
c.进一步增强前端:内置了Nodejs、NPM、Grunt、Bower技术,支持AngularJS。
d.支持依赖注入技术,提供原生的DI框架,同时支持第三方容器。
e.支持xUnit.net,抛弃Visual Studio Unit Testing框架。
f.IDE依然强大:除了延续VS2013的强大功能之外,还支持Nodejs、Python开发,支持Android和iOS开发等。
3.MVC的优缺点:
优点:
- 分层设计,职责分离,易于维护
- 开源
- 路由功能支持定制化操作
缺点:
- 视图模型的频繁操作丢失性能
- 多层框架通病:结构复杂,运行效率降低
4.:常用类
Controller
ActionFilterAttribute
VirtualPathProviderViewEngine
DelegatingHandler
Display