public static Control LoadModuleControl(TemplateControl containerControl, ModuleInfo moduleConfiguration) { if (TracelLogger.IsDebugEnabled) { TracelLogger.Debug($"ModuleControlFactory.LoadModuleControl Start (TabId:{moduleConfiguration.TabID},ModuleId:{moduleConfiguration.ModuleID}): ModuleControlSource:{moduleConfiguration.ModuleControl.ControlSrc}"); } Control control = null; IModuleControlFactory controlFactory = GetModuleControlFactory(moduleConfiguration.ModuleControl.ControlSrc); if (controlFactory != null) { control = controlFactory.CreateModuleControl(containerControl, moduleConfiguration); } // set the control ID to the resource file name ( ie. controlname.ascx = controlname ) // this is necessary for the Localization in PageBase if (control != null) { control.ID = Path.GetFileNameWithoutExtension(moduleConfiguration.ModuleControl.ControlSrc); var moduleControl = control as IModuleControl; if (moduleControl != null) { moduleControl.ModuleContext.Configuration = moduleConfiguration; } } if (TracelLogger.IsDebugEnabled) { TracelLogger.Debug($"ModuleControlFactory.LoadModuleControl End (TabId:{moduleConfiguration.TabID},ModuleId:{moduleConfiguration.ModuleID}): ModuleControlSource:{moduleConfiguration.ModuleControl.ControlSrc}"); } return(control); }
public Control CreateModuleControl(ModuleInfo moduleConfiguration) { IModuleControlFactory factory = GetModuleControlFactory(moduleConfiguration.ModuleControl.ControlSrc); return(factory.CreateModuleControl(moduleConfiguration)); }