void ControlTreeDataLoader.LoadData() { CssClass = CssClass.ConcatenateWithSpace( allStylesBothStatesClass + " " + ( style == SectionStyle.Normal ? getSectionClass( normalClosedClass, normalExpandedClass ) : getSectionClass( boxClosedClass, boxExpandedClass ) ) ); if( heading.Any() ) { var headingControls = new WebControl( HtmlTextWriterTag.H1 ) { CssClass = headingClass }.AddControlsReturnThis( heading.GetLiteralControl() ) .ToSingleElementArray() .Concat( postHeadingControls ); if( expanded.HasValue ) { var toggleClasses = style == SectionStyle.Normal ? new[] { normalClosedClass, normalExpandedClass } : new[] { boxClosedClass, boxExpandedClass }; var headingContainer = new Block( new[] { new EwfLabel { Text = "Click to Expand", CssClass = closeClass }, new EwfLabel { Text = "Click to Close", CssClass = expandClass } }.Concat( headingControls ).ToArray() ) { CssClass = headingClass }; var actionControlStyle = new CustomActionControlStyle( c => c.AddControlsReturnThis( headingContainer ) ); this.AddControlsReturnThis( disableStatePersistence ? new CustomButton( () => "$( '#" + ClientID + "' ).toggleClass( '" + StringTools.ConcatenateWithDelimiter( " ", toggleClasses ) + "', 200 )" ) { ActionControlStyle = actionControlStyle } : new ToggleButton( this.ToSingleElementArray(), actionControlStyle, toggleClasses: toggleClasses ) as Control ); } else { var headingContainer = new Block( headingControls.ToArray() ) { CssClass = headingClass }; this.AddControlsReturnThis( new Block( headingContainer ) ); } } if( contentControls.Any() ) this.AddControlsReturnThis( new Block( contentControls.ToArray() ) { CssClass = contentClass } ); }