Asp.net Mvc

介绍

ASP.NET MVC 是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序(Web Application)框架,它由Castle的MonoRail而来,日前最新版本是ASP.NET MVC 5. 编程模式javascript

MVC 是三种 ASP.NET 编程模式中的一种。html

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计建立 Web 应用程序的模式:java

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的彻底控制。jquery

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。数据库

一般模型对象负责在数据库中存取数据。编程

View(视图)是应用程序中处理数据显示的部分。设计模式

一般视图是依据模型数据建立的。缓存

Controller(控制器)是应用程序中处理用户交互的部分。服务器

一般控制器负责从视图读取数据,控制用户输入,并向模型发送数据。session

MVC 分层有助于管理复杂的应用程序,由于您能够在一个时间内专门关注一个方面。例如,您能够在不依赖业务逻辑的状况下专一于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不一样的开发人员可同时开发视图、控制器逻辑和业务逻辑。

   特点与优势

MVC (Model、View、Controller)将一个Web应用分解为:Model、View和Controller。ASP.NET MVC框架提供了一个能够代替ASP.NETWebForm的基于MVC设计模式的应用。

ASP.NET MVC概述·MVC的优势:

1.经过把项目分红Model、View和Controller,使得复杂项目更加容易维护,减小项目之间的耦合。

2.没有使用ViewState和服务器表单控件,能够更方便的控制应用程序的行为

3.应用程序经过Controller来控制程序请求,并提供了原生的UrlRouting功能来重写Url。

4.使Web程序对单元测试的支持更加出色

5.在团队开发模式下表现更出众

ASP.NET MVC概述·WebForm的优势:

1.采用事件驱动模式来控制应用程序请求,由大量服务器控件支持

2.采用页面控制机制,能够为单个页面添加事件处理函数

3.使用ViewState和服务器端页面,使管理页面状态信息更加轻松。

4.对人数较少的想使用服务器端控件的开发团队,使用起来更加方便

5.开发起来比MVC模式要轻松简单一些

ASP.NET MVC概述MVC框架特点:

1.分离任务(输入逻辑,业务逻辑和显示逻辑),易于测试和默认支持测试驱动开发(TDD)。全部MVC用到的组件都是基于接口而且能够在进行测试时进行Mock,你在不运行ASP.NET进程的状况下进行测试,使得测试更加快速和简捷。

2.可扩展的简便的框架。MVC框架被设计用来更轻松的移植和定制功能。你能够自定义视图引擎、UrlRouting规则及重载Action方法等。MVC也支持Dependency Injection (DI,依赖注入) and Inversion of Control (IoC,控制反转)的良好支持。

3.强大的UrlRouting机制让你更方便的创建容易理解和可搜索的Url,为SEO提供更好的支持。Url能够不包含任何文件扩展名,而且能够重写Url使其对搜索引擎更加友好。

4.可使用ASP.NET现有的页面标记、用户控件、模板页。你可使用嵌套模板页,嵌入表达式<%=%>,声明服务器控件、模板,数据绑定、定位等等。

5.对现有的asp.net程序的支持,mvc让你可使用如窗体认证和Windows认证、url认证、组管理和规则、输出、数据缓存、session、profile 、health monitoring、配置管理系统、provider architecture特性。

Scott Gu在博客中宣布ASP.NET MVC 2正式版发布,该版本适用于Visual Studio 2008及基于ASP.NET 3.5平台的Visual Web Developer 2008 Express。

在2010年4月12日发布的VS 2010正式版与Visual Web Developer 2010正式版中内置对ASP.NET MVC 2的支持,不须要再另外安装。

ASP.NET MVC 2是ASP.NET MVC的又一次重大更新,兼容ASP.NETMVC 1,和之前同样,ASP.NET MVC 2源代码彻底开放。

ASP.NET MVC 2能够与ASP.NET MVC 1并存,也就是说在同一台机器上,能够有的程序用ASP.NET MVC 1,有的程序用ASP.NET MVC 2

ASP.NET MVC 3能够与ASP.NET MVC 2并存。

ASP.NET MVC 3中提供了新的View引擎,Razor。

ASP.NET MVC 4已经正式发布,并内置于Visual Studio 2012,新版本ASP.NET MVC版本新增了手机模版、单页应用程序,Web API等模版,更新了一些 javascript 库,其中示例页面也使用了jquery的AJAX登陆,并增长了OAuth认证/Entity Framework5的支持。同时也加强了对HTML五、AsyncController等的支持。

ASP .NET MVC内包含若干关键技术。

ActionResult : Action 的返回类型

Filter :过滤器

ModelBinder : Model绑定器

Url Routing :Url路由规则

视图引擎:ASP .NET MVC包含多种视图引擎,其中以WebForms(即aspx)以及WebPages(Razor)最为经常使用