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

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

        ASP.NETMVC概述·MVC的优点:

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

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

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

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

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

       ASP.NETMVC概述·WebForm的优点:

   1.采用事件驱动模式来控制应用程序请求,由大量服务器控件支持
   2.采用页面控制机制,可以为单个页面添加事件处理函数。
   3.使用ViewState和服务器端页面,使管理页面状态信息更加轻松。
   4.对人数较少的想使用服务器端控件的开发团队,使用起来更加方便
   5.开发起来比MVC模式要轻松简单一些

       ASP.NETMVC概述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特性。

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

   ActionResult : Action 的返回类型
   Filter :过滤器
   ModelBinder : Model绑定器
   Url Routing :Url路由规则
   视图引擎:ASP .NET MVC包含多种视图引擎,其中以WebForms(即aspx)以及WebPages(Razor)最为常