Exemplo n.º 1
0
        /// <summary>
        /// 运行其他 action,并将运行结果作为当前 action 的内容
        /// </summary>
        /// <param name="controllerType">被运行的 action 所属的 controller 类型</param>
        /// <param name="actionName">action 名称</param>
        /// <param name="args">需要的参数</param>
        protected void run(String controllerFullTypeName, String actionName, params object[] args)
        {
            Type controllerType = ObjectContext.Instance.TypeList[controllerFullTypeName];

            if (controllerType == base.GetType())
            {
                view(actionName);

                MethodInfo method = ActionRunner.getActionMethod(this, actionName);
                if (method == null)
                {
                    throw new Exception("action " + wojilu.lang.get("exNotFound"));
                }
                else
                {
                    method.Invoke(this, args);
                }
            }
            else
            {
                content(ControllerRunner.Run(ctx, controllerFullTypeName, actionName, args));
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// 根据名称获取某 action 的方法信息
 /// </summary>
 /// <param name="actionName"></param>
 /// <returns></returns>
 public MethodInfo getMethod(String actionName)
 {
     return(ActionRunner.getActionMethod(controller, actionName));
 }