从AspWeb过度到AspMV.ppt_第1页
从AspWeb过度到AspMV.ppt_第2页
从AspWeb过度到AspMV.ppt_第3页
从AspWeb过度到AspMV.ppt_第4页
从AspWeb过度到AspMV.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BF-TECH4.0DNET软件开发工程师高薪就业品牌课程版权所有:北风网,ASP.NET4.5MVC开发实战教程讲师:石曼迪,课程大纲,视图开发引擎可复用UI组件路由MVC应用程序架构设计AJAXMVC网站安全移动WEB网站开发客户端优化技术MVC程序部署及实施,第一章:从AWebForm过度到AMVC,目录,MVC技术背景什么是MVC模式MVC架构说明ASP.NETMVC4新特性,MVC技术背景,Web架构时代-ASP&PHP&JSP时代-ASP.Net2.0时代(2004-2005)-AJAX时代(2006-2007)-Flash&Silverlight时代(2007-2008)-ASP.NetMVC时代(2008-2009)-ASP.NETWebAPI(2012-?),MVC技术背景:ASP&PHP&JSP时代,优点-语法简单-数据访问快捷(全靠ODBC撑着)不足-没有架构概念-显示和数据混编-无法测试,MVC技术背景:ASP.Net2.0时代,-服务器端空间-皮肤和样式-数据源控件与数据绑定控件-内建若干Serviceseg:membership,webpart提出主题和控件皮肤概念。提供了分页和排序,可以绑定数据源自动生成数据。webpart可以把某区域的服务器控件组装到某容器里。,MVC技术背景:ASP.Net2.0时代,优点-开发快捷-部署方便不足-控件导致代码冗余(特别是GridView)-服务器端与用户端交互过于频繁-无单独的UI定制-无法进行完整测试,MVC技术背景:AJAX时代,-自动提交用户数据的时代-良好用户体验的开端时代前端设计师彻底和业务逻辑说再见的时代,他的技术并不新,她就是拿Javascript的xml,http对象模拟请求,这个请求是异步请求,他是通过Javascript引擎中提供的脚本,在用户不知不觉中就提交了数据,这一小技术的开始使得用户体验大大上升。但因为各浏览器之间标准不统一,用起来也不方便,但是今天由于已经封装好了Javascript的类库,因此使用起来非常的方便。,MVC技术背景:AJAX时代,优点-用户体验内容丰富不足-开发和调试内容繁琐-无法进行完整的测试,MVC技术背景:Flash&Silverlight时代,-富有表现力的一代优点-表现力丰富不足-支持资源少-精简的类库,受限大,MVC技术背景:MVC时代,一般认为webforms的缺点大致有以下几个方面:ViewState问题,导致在浏览器和服务端反复来回传递,影响页面呈现的效率页面生命周期:页面生命周期的一部分:连接客户端事件和服务端事件处理代码的机制非常复杂,只有少数的开发人员能够完全掌握并去操控。不能很好的分解关注点,MVC一直贯彻的思想是:约定胜于配置,分解关注点对HTML操控受限,我们知道服务端控件最终也是以HTML的形式呈现,但往往不是我们认为必要的,而且不能很好的应用CSS样式。比如ID为发生变化,当然在4.0里面有了设置ID的呈现模式。Leakyabstraction:直译是抽象泄漏,我不知道怎么翻译合理,我理解的意思是抽象不完全,WebForms试图在任何可能的地方隐藏HTTP和HTML的细节。当我们实现自己的逻辑时,常常容易偏离的抽象,也因此强制我们去对回发机制进行反向工程,或者是很笨拙的去实现生成我们期望的HTML。另外,所有的这些抽象会成为令组件开发人员沮丧的包袱。可测试性弱,MVC技术背景:MVC时代,ASP.NETMVC解决了这些问题,什么是MVC模式,我们先来看一下普通的WebForm模式下,我们请求一个例如,什么是MVC模式,新建一个MVC项目运行,什么是MVC模式,那么MVC中又是怎么个流程呢:在MVC中,客户端的所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。再说回前面我们运行的ASP.NETMVC程序访问的http:/localhost:2176/Home/Index这个URL,它访问的其实是HomeController中的Index这个Action,什么是MVC模式,Model是指要处理的业务代码和数据操作代码View视图主要是指的跟用户打交道并能够展示数据Controller看成是Model和View的桥梁MVC框架:约定大于配置控制器类命名以Contoller结尾:HomeController控制器类将会产生一个与之同名的在Views文件夹下的文件夹:/View/Home控制器里的Action方法,也可在视图文件夹下生成一个同名的视图,如:Index.cshtml,现场编程,新建MVC项目分析目录含义新建控制器新建视图新建模型,传值,传值,ViewBag,ViewData,TempData区别?ViewBag和ViewData生命周期相同,仅对当前View有效,不同的是ViewBag的类型不再是字典的键值对结构,而是dynamic动态类型。TempData保存在Session中,Controller每次执行请求的时候,会从Session中先获取TempData,而后清除Session,获取完TempData数据,虽然保存在内部字典对象中,但是其集合中的每个条目访问一次后就从字典表中删除。具体代码层面,TempData获取过程是通过SessionStateTempDataProvider.LoadTempData方法从ControllerContext的Session中读取数据,而后清除Session,故TempData只能跨Controller传递一次。如果我们想读取TempData的值但是又不让它被删除,可以使用TempData.Peek(Key

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论