zoukankan      html  css  js  c++  java
  • 视图

      MVC动作处理结束后返回视图结果ActionResult,视图结果到前端浏览器显示需要经过视图引擎处理。

      MVC中Razor视图引擎是标准。

      视图引擎是实现了IViewEngine接口的类定义。

      IView接口  

    View Code

      接口所需上下文参数ViewContext 继承自ControllerContext,上下文中有客户端请求的详细信息。

      IViewEngine接口  

    namespace System.Web.Mvc
    {
        // 摘要: 
        //     定义视图引擎所需的方法。
        public interface IViewEngine
        {
            // 摘要: 
            //     使用指定的控制器上下文查找指定的分部视图。
            //
            // 参数: 
            //   controllerContext:
            //     控制器上下文。
            //
            //   partialViewName:
            //     分部视图的名称。
            //
            //   useCache:
            //     若指定视图引擎返回缓存的视图(如果存在缓存的视图),则为 true;否则为 false。
            //
            // 返回结果: 
            //     分部视图。
            ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache);
            //
            // 摘要: 
            //     使用指定的控制器上下文来查找指定的视图。
            //
            // 参数: 
            //   controllerContext:
            //     控制器上下文。
            //
            //   viewName:
            //     视图的名称。
            //
            //   masterName:
            //     母版的名称。
            //
            //   useCache:
            //     若指定视图引擎返回缓存的视图(如果存在缓存的视图),则为 true;否则为 false。
            //
            // 返回结果: 
            //     页视图。
            ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache);
            //
            // 摘要: 
            //     使用指定的控制器上下文来释放指定的视图。
            //
            // 参数: 
            //   controllerContext:
            //     控制器上下文。
            //
            //   view:
            //     视图。
            void ReleaseView(ControllerContext controllerContext, IView view);
        }
    }
    View Code

      ViewEngine返回ViewEngineResult,结果将数据返回MVC框架处理。

      

      实现IViewEngine接口的自定义引擎,需要注册到框架中。MVC中引擎使用ViewEngines类Engines集合存储现在视图引擎。

      调用ViewEngines.Engines.Clear() 方法清空已经视图引擎。使用ViewEngines.Engines.Add()方法注册新的视力引擎。

  • 相关阅读:
    SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)
    算法大神之路----排序(插入排序法)
    Redis的基本使用(基于maven和spring)
    算法大神之路----排序(选择排序法)
    exe4j 安装
    png转ico网站
    artTemplate/template.js模板将时间格式化为正常的日期
    artTemplate js模板引擎动态给html赋值
    IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求
    Windows Server2012 R2 安装.NET Framework 3.5失败解决方法
  • 原文地址:https://www.cnblogs.com/bro-ma/p/7092481.html
Copyright © 2011-2022 走看看