




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BF-TECH 4.0 DNET 软件开发工程师高薪就业品牌课程 版权所有:北风网,ASP.NET 4.5 MVC 开发实战教程 讲师:石曼迪,课程大纲,视图开发引擎 可复用UI组件 路由 MVC应用程序架构设计 AJAX MVC网站安全 移动WEB网站开发 客户端优化技术 MVC程序部署及实施,第一章:从A Web Form过度到 A MVC,目录,MVC技术背景 什么是MVC模式 MVC架构说明 ASP.NET MVC 4新特性,MVC技术背景,Web架构时代 -ASP&PHP&JSP时代 -ASP.Net 2.0时代(2004-2005) -AJAX时代(2006-2007) -Flash&Silverlight时代(2007-2008) -ASP.Net MVC时代(2008-2009) -ASP.NET Web API(2012-?),MVC技术背景:ASP&PHP&JSP时代,优点 -语法简单 -数据访问快捷(全靠ODBC撑着) 不足 -没有架构概念 -显示和数据混编 -无法测试,MVC技术背景: ASP.Net 2.0时代,-服务器端空间 -皮肤和样式 -数据源控件与数据绑定控件 -内建若干Services eg:membership,webpart 提出主题和控件皮肤概念。提供了分页和排序,可以绑定数据源自动生成数据。webpart可以把某区域的服务器控件组装到某容器里。,MVC技术背景: ASP.Net 2.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的呈现模式。 Leaky abstraction:直译是抽象泄漏,我不知道怎么翻译合理,我理解的意思是抽象不完全,WebForms试图在任何可能的地方隐藏HTTP和HTML的细节。当我们实现自己的逻辑时,常常容易偏离的抽象,也因此强制我们去对回发机制进行反向工程,或者是很笨拙的去实现生成我们期望的HTML。另外,所有的这些抽象会成为令组件开发人员沮丧的包袱。 可测试性弱,MVC技术背景: MVC时代,ASP.NET MVC 解决了这些问题,什么是MVC模式,我们先来看一下普通的WebForm模式下,我们请求一个例如/blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后再由index.aspx页面来呈现给用户。简单的示意图如下所示:,什么是MVC模式,新建一个MVC项目 运行,什么是MVC模式,那么MVC中又是怎么个流程呢: 在MVC中,客户端的所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。再说回前面我们运行的ASP.NET MVC程序访问的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(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年施工员全真模拟模拟题(网校专用)附答案详解
- 2024年园林绿化作业人员全真模拟模拟题及完整答案详解【历年真题】
- 2024-2025学年度邮政行业职业技能鉴定综合提升测试卷含答案详解(突破训练)
- 2024-2025学年银行岗位模考模拟试题含答案详解
- 危险化学品安全作业试题【各地真题】附答案详解
- 2024山东省莱西市中考数学达标测试及完整答案详解【名师系列】
- 智能教育设备设备使用风险防控方案
- 客户投诉处理分级方案
- 品牌联名产品售后服务流程再造方案
- 盲盒产品包装设计方案
- 2025秋人教版(2024)二年级上册数学教学计划
- 2025至2030中国清真食品市场供需前景调查及发展动向分析报告
- 农业综合服务战略合作协议书
- 检验科实验室生物安全风险评估报告
- 药厂复试面试常见问题及答案解析
- 住院患者自备药品管理制度
- 复苏室心理护理
- 《无机化学》第六版 课件 第2章 化学反应速率和化学平衡
- 公司商铺降租方案(3篇)
- 2025铁路安全教育培训考试试题及答案
- 诺帝菲尔FCI-2000消防主机操作
评论
0/150
提交评论