/// <summary> /// Loads the layouts. /// </summary> /// <param name="rockContext">The rock context.</param> /// <param name="site">The site.</param> private void LoadLayouts(RockContext rockContext, SiteCache site) { LayoutService.RegisterLayouts(Request.MapPath("~"), site); string currentValue = null; if (ddlLayout.SelectedItem != null) { currentValue = ddlLayout.SelectedItem.Text; } ddlLayout.Items.Clear(); var layouts = new LayoutService(rockContext).GetBySiteId(site.Id); foreach (var layout in layouts) { ddlLayout.Items.Add(new ListItem(layout.Name, layout.Id.ToString())); } if (currentValue.IsNotNullOrWhiteSpace()) { var selectedLayout = layouts.FirstOrDefault(a => a.Name.Equals(currentValue, StringComparison.OrdinalIgnoreCase)); if (selectedLayout != null) { ddlLayout.SetValue(selectedLayout.Id); } } }