从AspWeb过度到AspMV.ppt

上传人:sh****n 文档编号:7416924 上传时间:2020-03-21 格式:PPT 页数:24 大小:1.18MB
返回 下载 相关 举报
从AspWeb过度到AspMV.ppt_第1页
第1页 / 共24页
从AspWeb过度到AspMV.ppt_第2页
第2页 / 共24页
从AspWeb过度到AspMV.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
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 方法 如果想再保持一次TempData里面的值 可以使用TempData Keep Key 部分视图 RenderBody 总结 MVC开发优势传值项目创建约定视图展现 学习地址 ASP NET4 5MVC实战教程 欢迎访问我们的官方网站
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!