白话学习MVC(九)View的呈现一】的更多相关文章

一.概述 本节来看一下ASP.NET MVC[View的呈现]的内容,View的呈现是在Action执行之后进行,Action的执行生成一个ActionResult,[View的呈现]的功能就是:通过InvokeActionResult方法对[Action的执行]中生成的ActionResult进行处理.(ActionResult泛指那些继承自抽象类System.Web.Mvc.ActonResult的类的实例) 为了会纵观[View的呈现]在全局中的位置,下面我们再来回顾下处理请求的整个流程:…
本节将接着<白话学习MVC(九)View的呈现一>来继续对ViewResult的详细执行过程进行分析! 9.ViewResult ViewResult将视图页的内容响应给客户端! 由于ViewResult的View呈现过程比较复杂,在此先大致描述一下整个流程: 获取视图引擎,默认有两个:ASPX引擎.Razor引擎. 根据视图页名称,通过视图引擎去检查是否存在对应的视图页,如果存在,则创建视图对象.如果不存在,则将所有视图引擎寻找过的路径作为异常返回. 创建视图对象之后,处理视图页中的内容(先…
一.概述 上篇博文<白话学习MVC(七)Action的执行一>介绍了ASP.NET MVC中Action的执行的简要流程,并且对TempData的运行机制进行了详细的分析,本篇来分析上一篇中遗留的[3-2.ActionInvoker.InvokeAction(ControllerContext, actionName)]部分的内容,其中包含了Action的执行.过滤器的执行.View的呈现(下节介绍). public abstract class Controller : Controller…
一.概述 在此系列开篇的时候介绍了MVC的生命周期 , 对于请求的处理,都是将相应的类的方法注册到HttpApplication事件中,通过事件的依次执行从而完成对请求的处理.对于MVC来说,请求是先 经过路由系统,然后由一个MvcHandler来处理的,当请求到来时,执行此MvcHandler的ProcessRequest方法(因为已将 MvcHandler类的ProcessRequest方法注册到HttpApplication的事件中,所以事件的执行就触发了此方法).详细请看之前介绍MVC生…
[toc] 上一节介绍了 Asp.net mvc 中除 ViewResult 外的所有的 ActionResult,这一节介绍 ViewResult. ViewResultBase ViewResultBase 是 Asp.net mvc 中所有的 ViewResult 和 ParticalViewResult 的基类,该类继承自 ActionResult.该类的定义如下示: //---------------------------------属性部分---------------------…
一.什么是模型绑定? 模型绑定存在的意义就是为Action的参数提供值,例如:如下表单中提交了数据,那么Action(即:Index)的参数Id,Name的值就是表单中对应的name属性相同的值,而表单提交的值是如何赋值给Action的参数的呢?模型绑定就是来完成从用户提交的请求中提取数据,并赋值给Action的参数.此例是从表单中的提取数据,并赋值给Action的参数,模型绑定还可以完成完成从地址Url.路由Route.上传文件等中获取数据,并赋值给Action相应的参数. <form id=…
一.概述 在此系列开篇的时候介绍了MVC的生命周期 , 对于请求的处理,都是将相应的类的方法注册到HttpApplication事件中,通过事件的依次执行从而完成对请求的处理.对于MVC来说,请求是先 经过路由系统,然后由一个MvcHandler来处理的,当请求到来时,执行此MvcHandler的ProcessRequest方法(因为已将 MvcHandler类的ProcessRequest方法注册到HttpApplication的事件中,所以事件的执行就触发了此方法).详细请看之前介绍MVC生…
[toc] 我们知道针对客户端的请求,最终都会转换为对 Controller 中的一个 Action 方法的调用,指定的 Action 方法会返回一个 ActionResult 类型的实例来响应该请求,但 ActionResult 类型的实例是如何转换为请求终端最终呈现的页面的呢?这就是我们这里要介绍的. ActionResult 每个标准的 Action 方法总会返回一个 ActionResult 类型的对象,该类型是一个抽象类,该类的定义如下: public abstract class A…
总结:定义在controller中的action方法一般会返回actionResult的对象对请求给予 响应.viewResult是最常见也是最重要的ActionView的一种(p411).view模版引擎的介绍razor (p423) 第一简单而又直接的请求响应类型的actionView分类(p391) 第二ViewResult具体介绍 第三Razor具体介绍…
在上一篇文章中,我们学习了如何使用实体框架的“Code First Migrations ”工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 在本文章中,我们将使用“Code First Migrations ”工具.使用其中的“Send”更新方法,添加Rating字段到每个Book对象与数据库表中. 一.在Book模型中添加“Rating”属性 首先,在Visual Studio打开Models\ Book.cs文件,在Book类中添加一个新的Rating属性…