三、ViewResult的执行 View引擎对View的获取以及对View的呈现最初是通过ViewResult触发的,那么两者是如何衔接的呢?...这是本小节着重讨论的问题,在这之前我们不妨先来看看ViewResult的定义。...如下面的代码片断所示,表示ViewResult的类型ViewResult是抽象类ViewResultBase的子类。...View(); 5: protected ViewResult View(object model); 6: protected ViewResult View(string...viewName); 7: protected ViewResult View(IView view); 8: protected ViewResult View(string
/UserInfo'; import { ViewResult } from '..../ViewResult'; import * as core from "express-serve-static-core"; export class BaseController { constructor...* * @param {string} viewName 当前视图的名称 * @param {*} [viewData] 需要传递给视图的数据 * @returns {ViewResult...: any): ViewResult { return new ViewResult(viewName, viewData) } } 所以basecontroller的结构非常简单.../Entity'; import { BaseController, get, post, auth, actionName, ViewResult } from "gd-express-basic";
param; using (var sw = new StringWriter()) { ViewEngineResult viewResult...var viewContext = new ViewContext(context, viewResult.View...sw); try { viewResult.View.Render
viewResult 为我们定义的一个类,具体内容下面讲。...(cv::Scalar(0, 255, 0), message); PublishMessage(viewResult.GetViewImage()); viewResult.InitImage...(); } void RosNode::Topic2Callback(const Result::Lights::ConstPtr &message) { viewResult.DrawLightsResult...4.1、初始化参数 void ViewResult::Init(std::shared_ptr parm) { viewImage.create(imageHeight,...polylines(viewImage, polygonPoints, true, color, thickness, lineType); // 绘制多边形轮廓 } } void ViewResult
ActionDescriptor()); using (var sw = new StringWriter()) { var viewResult...= _razorViewEngine.FindView(actionContext, viewName, false); if (viewResult.View ==...var viewContext = new ViewContext( actionContext, viewResult.View...sw, new HtmlHelperOptions() ); await viewResult.View.RenderAsync
ctrl.UserInfo("1"); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult...ctrl.UserInfo("1"); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult...)); //对viewModel进行assert var vr = result as ViewResult; Assert.IsNotNull...ctrl.UserInfo("1"); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult...ctrl.UserInfo("1"); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult
二、Model Binder 1、 [AcceptVerbs(HttpVerbs.Get)] public ViewResult RSVPForm() { ... return View(); } [AcceptVerbs(HttpVerbs.Post)] public ViewResult RSVPForm(GuestResponse...3、参数只需要一个对象,如果是新增信息,ID不允许为空,但是数据确实没有ID值,就需要做如下处理: public ViewResult RSVPForm([Bind(Exclude="ID")]GuestResponse
//Arrange HomeController hc = new HomeController(); //Act ViewResult...) { this.repository = repository; } // GET: Book public ViewResult...BookController bc = new BookController(new MocBookRepository(exceptedBk)); ViewResult...//Arrange HomeController hc = new HomeController(); //Act ViewResult...[TestClass] public class HomeTest { private HomeController hc; private ViewResult
如果直接返回的非ViewResult的话,那就直接协会到Respose流了返回客户端了,如果是ViewResult的话,那就进入View的领域了。...第七阶段:View视图加载成Page类,并Render成Html 此时请求到ViewResult后,ExecuteResult方法被调用,且看此方法的内部实现: public override void...result.ViewEngine.ReleaseView(context, View); } } 内部主要是通过ViewResult...MVCRouteHandler→MVCHandler→ControllerFactory →Controller→ActionInvoke→Aciton→ActiongResult.ExcuteReuslt()【如果是ViewResult
class UserController : Controller 2 { 3 // 4 // GET: /User/ 5 public ViewResult.../ /// 创建新用户 /// /// public ViewResult
创建 ViewResult 对象将会渲染成视图来给用户反馈 ViewResult 创建了ViewPageActivator 对象 ViewResult 选择了正确的ViewEngine,并且会给ViewEngine...ActionResult和 ViewResult的关系是什么?...ActionResult是抽象类,而ViewResult是ActionResult的多级孩子节点,多级是因为ViewResult是ViewResultBase的子类,而ViewResultBase是ActionResult...ViewResult是HTML响应而ContentResult是标准的文本响应,仅返回字符串类型。区别就在于ContentResult是ActionResult的子类。
filterContext) { //在Result执行之后 filterContext.HttpContext.Response.Write(@"After ViewResult...filterContext) { //在Result执行之前 filterContext.HttpContext.Response.Write(@"Before ViewResult...ResultExecutedContext filterContext) { filterContext.HttpContext.Response.Write(@"After ViewResult...ResultExecutingContext filterContext) { filterContext.HttpContext.Response.Write(@"Before ViewResult
(2)如果ActionResult是非ViewResult,比如JsonResult, ContentResult,这些内容将直接被输送到Response响应流中,显示给客户端;如果是ViewResult...2、FindView 3、ReleaseView :主要用来有ViewEngine释放资源 ViewResultBase 和ViewResult是比较重要的两个类。...= null) { return result; } //rest of the code omitted } 当ViewResult...的方法ExecuteResult被调用后,ViewResultBase 的ExecuteResult 方法被调用,然后ViewResultBase 调用ViewResult的FindView 。...紧接着ViewResult 返回ViewEngineResult,之后ViewEngineResult调用Render()方法来绘制html输出响应。
当不指定视图名称时,操作方法返回的 ViewResult 对象将按照约定来确定视图,它会在目录 /View/ControllerName 下查找与action 名称相同的视图。
*ViewResult类 ViewResult类的作用是向客户端响应View目录中一个视图文件. Controller类中提供了View()方法,来快速的返回一个ViewResult类对象.
请注意,我们在返回视图时将 ViewResult 设置为 Details 方法的返回类型。...studentRepository) { _studentRepository = studentRepository; } public ViewResult
(2)如果ActionResult是非ViewResult,比如JsonResult, ContentResult,这些内容将直接被输送到Response响应流中,显示给客户端;如果是ViewResult...Execute(RequestContext context); } 因此,这里也实现了ActionResult这个抽象类,并以此为基础实现了ContentResult、JsonResult以及ViewResult..., id), "text/html"); } public ActionResult View() { return new ViewResult...(3)请求ViewResult ?
Book { public string Code { get; set; } public string Name { get; set; } } 1.ViewResult...而Home/Index这个Action标识的返回结果是IActionResult,实际是通过View()这个方法返回的,这个方法的返回结果类型实际是IActionResult的派生类ViewResult...所以这个IActionResult类型的参数result实际上可能是JsonResult、ViewResult、EmptyResult等具体类型。...ViewResult会有对应的ViewExecutor来执行,会通过相应的规则生成一个 Html页面。 而EmptyResult的ExecuteResult方法为空,所以不会返回任何内容。...下集预告 对于以上几种类型返回结果的格式是固定的,JsonResult就会返回JSON格式,ViewResult就会返回Html格式。
领取专属 10元无门槛券
手把手带您无忧上云