public string ToHtmlString() { StringBuilder scripts = new StringBuilder(); _Highcharts.ForEach(x => scripts.AppendLine("<div id='{0}'></div>".FormatWith(x.ContainerName))); List<Highcharts> startupCharts = _Highcharts.Where(x => string.IsNullOrEmpty(x.FunctionName)).ToList(); scripts.AppendLine("<script type='text/javascript'>"); startupCharts.ForEach(x => scripts.AppendLine("var {0};".FormatWith(x.Name))); scripts.AppendLine("$(document).ready(function() {"); startupCharts.ForEach(scripts.AppendHighchart); scripts.AppendLine("});"); List<Highcharts> functionCharts = _Highcharts.Where(x => !string.IsNullOrEmpty(x.FunctionName)).ToList(); foreach (Highcharts chart in functionCharts) { scripts.AppendLine("var {0};".FormatWith(chart.Name)); scripts.AppendLine(string.Format("function {0}() {{", chart.FunctionName)); scripts.AppendHighchart(chart); scripts.AppendLine("}"); } scripts.AppendLine("</script>"); return scripts.ToString(); }