private void LoadPagesModules(int websiteId) { //get all webpages in the selected website. Website website = Website.Get(websiteId); WebpageInfo websiteRootPage = website.RootWebpage; _webpages = Webpage.GetDescendants(websiteRootPage); _webpages.Insert(0, websiteRootPage); //List<WebModuleType> moduleTypes = WebModuleType.GetModuleTypes(); List <WebApplicationType> webappTypes = WebApplicationType.GetApplications(); //sort alphabetically webappTypes.Sort(delegate(WebApplicationType app1, WebApplicationType app2) { return(app1.Name.CompareTo(app2.Name)); }); //get applications that have >=1 addable module. WebAppsList.DataSource = webappTypes.FindAll(delegate(WebApplicationType app) { foreach (WebModuleType m in app.Modules.Values) { if (m.CanAddModule) { return(true); } } return(false); }); WebAppsList.DataBind(); }
protected void WebAppsList_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { WebApplicationType webappType = (WebApplicationType)e.Item.DataItem; Repeater modulesList = (Repeater)e.Item.FindControl("ModulesList"); modulesList.ItemDataBound += new RepeaterItemEventHandler(modulesList_ItemDataBound); modulesList.DataSource = WebApplicationType.Items[webappType.Name].Modules.Values; modulesList.DataBind(); } }