我们知道在vm中可以直接使用SessionSiteRoot等,那么我们还可以使用哪些默认的系统变量呢?

其实可以直接在vm中使用的系统变量都是在NVelocityViewEngine类的CreateContext方法中定义的。下面我们就看看到底定义了哪些(详见代码中的注释说明):
 1MonoRail学习笔记十八:在VM中可以使用哪些系统变量        private IContext CreateContext(IRailsEngineContext context, Controller controller)
 2            innerContext.Add(TemplateKeys.Controller, controller);
                //当前请求的上下文,请求,Session等可以直接使用
 6MonoRail学习笔记十八:在VM中可以使用哪些系统变量            innerContext.Add(TemplateKeys.Context, context);
 7MonoRail学习笔记十八:在VM中可以使用哪些系统变量            innerContext.Add(TemplateKeys.Request, context.Request);
 8MonoRail学习笔记十八:在VM中可以使用哪些系统变量            innerContext.Add(TemplateKeys.Response, context.Response);
 9MonoRail学习笔记十八:在VM中可以使用哪些系统变量            innerContext.Add(TemplateKeys.Session, context.Session);
10MonoRail学习笔记十八:在VM中可以使用哪些系统变量      
                //对应的controller中的Resources中所有资源可以直接在vm中使用
11MonoRail学习笔记十八:在VM中可以使用哪些系统变量            if (controller.Resources != null)
12
               //所有Params中的值可以直接在vm中使用
19MonoRail学习笔记十八:在VM中可以使用哪些系统变量            foreach(String key in context.Params.AllKeys)
20
               //常见的系统类可以之间使用,比如可以直接在vm中使用$Int32.MaxValue
49MonoRail学习笔记十八:在VM中可以使用哪些系统变量            foreach(object helper in builtInHelpers)
50
               //定义的Helper类可以直接在vm中使用
54MonoRail学习笔记十八:在VM中可以使用哪些系统变量            if (controller.Helpers != null)
55        }


相关文章:

  • 2022-01-26
  • 2021-07-10
  • 2021-11-01
  • 2021-09-28
  • 2022-02-12
  • 2021-10-09
猜你喜欢
  • 2021-12-15
  • 2022-03-02
  • 2021-08-24
  • 2021-11-03
  • 2021-05-23
  • 2022-03-08
  • 2021-07-23
相关资源
相似解决方案