已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP.NET MVC知识讲解 -XX 1、什么是MVC? MVC由Trygve Reenskaug提出,是“Model-View-Controller” 的缩写,中文翻译为“模式-视图-控制器”。MVC很好地实现了 数据层与表示层的分离。MVC通常用于分布式应用系统的设计和 分析中及确定系统各部分间的组织关系。MVC把交互系统的组成 分解成模型、视图、控制器三种部件。模型、视图与控制器的 分离,使得一个模型可以具有多个显示视图。如果用户通过某 个视图的控制器改变了模型的数据,所有其他依赖于这些数据 的视图都应反映这些变化。因此,无论何时发生了何种数据变 化,控制器都会将变化通知所有的视图,导致显示更新。这实 际上是一种模型的变化-传播机制。 1、什么是MVC? 控制器(Controller):控制器类处理客户端向Web应用程序 发出的请求,获取数据,并指定返回给客户端,用来显示处理结 果的视图。 视图(View):视图类是Web应用程序中用来生成并显示 HTML格式的服务器端对客户端请求的响应结果的模板文件。 模型(Model):模型类代表了应用程序的数据,这些数 据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务 逻辑。 2、MVC的两种分离 View和数据(Model)分离 能够为相同的Model开发不同的View进行展示 分离可视与不可视得组件,能够对Model进行独 立测试(只有View到Model的单向引用) View和表现逻辑(Controller)分离 分离逻辑与具体展示,能够对逻辑进行独立测 试(只有Controller到View的单向引用) 3、MVC各部分之间关系 4、mvc详细请求流程 5、MVC网站的运行过程是这样的 1. 当第一个请求从客户端发起的时候,首先执行的是Global.asax中的 Application_Start()方法来完成一些初始化工作,其中重要的一步是RegisterRoutes方 法,这个方法指定了如何将url映射到具体的方法上,稍后详解。 2. 根据第一步中指定的映射表生成一个RouteData对象,利用这个对象来创建一个 RequestContext对象。 3. MvcRouteHandler创建一个MvcHandler,并将RequestContext对象传给MvcHandler 。 4. MvcHandler对象利用RequestContext对象确定一个IControllerFactory对象来创建 Controller对象。 5. MvcHandler对象调用Controller对象的Execute()方法。 6. Controller的ControolerActionInvoker对象决定调用controller的哪个具体的action方 法。 7. Action方法接受用户参数,执行方法,返回一个Result类型的对象。 6、ASP.NET MVC特点 开放源代码 到处可以扩展 ViewEngine、HtmlHelper还有Filter Views,Controllers,Models,Routes 基于ASP.NET,充分利用ASP.NET现有特性 完善的单元测试支持 轻量级,主体代码仅数千行 优点: 原生态url routing,便于url rewrite Control与View完全分离,利于换肤且没有性能损失 便于对输出的html做完全的控制,利于精简代码及SEO 表现层的性能可以优化到极致 应用的master及去除控件的运行时特性,使用vs开发 时将可以使用设计视图 缺点: 开发人员需要花时间熟悉这个新技术 现有代码移植到mvc需要一定时间 开发人员需要熟悉html以及css、JavaScript 开发人员需要摆脱在WebForm开发时对服务器控件种种依赖 7、MVC 优缺点 8、URLROUTING和URLHELPER URL模式 路由规则 路由表 UrlHelper.Action 职责 解析URL,得到RouteData、Controller、Action, 转交给Controller处理 使用Url.Action方法根据Controller和Action,反向生 成对应的URL 9、CONTROLLER与VIEW Controller 职责 从Model获取数据,然后通过ViewData传递给View 数据 可以使用不同的View呈现数据 ActionResult的其它返回值:JsonResult、 RedirectResult PartialView、View方法 ViewData、TempData传值 过滤器Filter 10、VIEWDATA 和TEMPDATA区别 ViewData只能在当前Action中有效; TempData可以类似于Session一样到其它页面 仍然存在,它的数据至多只能经过一次 Controller传递,并且每个元素至多只能被访 问一次,访问以后,自动被删除; TempData一般用于临时的缓存内容或抛出错 误页面时传递错误信息。 11、创建一个MVC项目 创建一个MVC项目 12、几个简单的问题 (1)MVC与三层架构的比较。 (2)EF对数据操作和数据持久化的三种方 式。 (3)改变数据库中表的行,如何解决模型与 数据库结构的不统一。 13、MVC与三层架构的比较 14、两种方法来解决 1、让Entity Framework自动删除当前数据库, DbDatabase.SetInitializer ();( DropCreateDatabaseIfModelChanges )并在新 的模型类的基础上重新创建该数据库。这种方 法在使用一个测试数据库时对于开发来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省达州市大竹县大竹中学2024-2025学年七年级上学期期中生物学试题(含答案)
- 《船用格栅》规范
- 第五单元 分数四则混合运算(单元测试)(含答案)-2024-2025学年六年级上册数学苏教版
- 2024-2025学年七年级上学期期中测试卷
- 油气设备专用件相关项目投资计划书
- 高导热石墨散热材料行业相关投资计划提议范本
- 石油钻探、开采专用设备相关项目投资计划书范本
- 销售公司运营管理述职报告
- 儿童健康饮食课件
- 遗传病和免疫
- 田径训练论文开题报告
- 个人健康管理平台使用操作教程
- 新版《铁道概论》考试复习试题库(含答案)
- 商业银行开展非法集资风险排查活动情况报告
- 防范工贸行业典型事故三十条措施解读
- 2024年公选处级领导干部面试题选及参考答案
- 英语连读发音技巧讲解
- 2024年秋季新外研版三年级上册英语课件 Unit 5 第1课时(Get ready)
- 2025届新高考语文热点冲刺复习议论文开头结尾
- 中航集团招聘笔试题库2024
- 2024年浙江省宁波市文史研究馆办公室招聘6人历年(高频重点复习提升训练)共500题附带答案详解
评论
0/150
提交评论