/// <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)); } }
/// <summary> /// 根据名称获取某 action 的方法信息 /// </summary> /// <param name="actionName"></param> /// <returns></returns> public MethodInfo getMethod(String actionName) { return(ActionRunner.getActionMethod(controller, actionName)); }