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();
     }
 }