private void LoadModules() { var repData = new List <ModuleUserControl>(); repModules.ItemDataBound += RepModules_ItemDataBound; if (Root) { var c = new DefaultModuleFactory($"~/Content/templates/{WebSettings.Instance.Settings.Name}/layout/layout.ascx").GetControl(null); c.ID = "Layout"; repData.Add(c); var editor = new DefaultModuleFactory("~/Module/Client/ModuleEditor.ascx").GetControl(null); Cms.Controls.Add(editor); repModules.DataSource = repData; repModules.DataBind(); if (Authentication.IsAdmin) { var toggle = (Client.AdminEditToggle) new DefaultModuleFactory("~/Module/Client/AdminEditToggle.ascx").GetControl(null); Cms.Controls.Add(toggle); } return; } int menuId; int.TryParse(Request.QueryString["menuid"], out menuId); if (menuId == 0) { Cms.Controls.Add(new Literal() { Text = "You need to create a menu first!" }); return; } var manager = new ModulesManager(); var controls = manager.GetMenuModules(menuId, ModuleId); foreach (var control in controls) { repData.Add(control); } if (Authentication.Instance.IsAdminEdit) { var c = (Client.ModuleEditAdd) new DefaultModuleFactory("~/Module/Client/ModuleEditAdd.ascx").GetControl(null); c.Data = new Domain.Modules() { MenuId = menuId }; Add.Controls.Add(c); } repModules.DataSource = repData; repModules.DataBind(); }