public virtual bool ExecuteModuleControllerAction() { var modulePositions = PageRequestContext.Page.AsActual().PagePositions.Where(it => it is ModulePosition).OrderBy(it => it.Order); IDictionary <string, ModuleActionInvokedContext> moduleActionResults = new Dictionary <string, ModuleActionInvokedContext>(); foreach (ModulePosition modulePosition in modulePositions) { var site = Page_Context.Current.PageRequestContext.Site; var moduleUrl = Page_Context.Current.PageRequestContext.ModuleUrlContext.GetModuleUrl(modulePosition.PagePositionId); ModuleActionInvokedContext result = ModuleExecutor.InvokeAction(this.ControllerContext, site, moduleUrl, modulePosition); if (result != null) { if (ModuleActionResultExecutor.IsExclusiveResult(result.ActionResult)) { ModuleActionResultExecutor.ExecuteExclusiveResult(result.ControllerContext, result.ActionResult); return(false); } moduleActionResults.Add(modulePosition.PagePositionId, result); } } ModuleResults = moduleActionResults; return(true); }
protected virtual string RenderModule(ModulePosition modulePosition) { ModuleActionInvokedContext actionInvokedContext = GetModuleActionResult(modulePosition.PagePositionId); if (actionInvokedContext != null) { var actionResultExecuted = ModuleExecutor.ExecuteActionResult(actionInvokedContext); return(actionResultExecuted.ResultHtml); } return(string.Empty); }