刷新后不显示Highcharts

时间:2012-05-11 06:09:23

标签: c# highcharts

我正在使用高级图表,并且已成功在页面重新加载时显示它们。 我使用以下代码在服务器端创建图表: -

DateTime dt = DateTime.Now;
Series[] series=null;

            Series Store1 = new Series();
            Store1.Data = new Data(new object[]
                                  {
                                      lst[0].target1,lst[0].target2,lst[0].target3,lst[0].target4,lst[0].target5,lst[0].target6,lst[0].target7
                                  });

            Store1.Name = lst[0].StoreName;
            Store1.Type = DotNet.Highcharts.Enums.ChartTypes.Bar;

            Series Store2 = new Series();
            Store2.Data = new Data(new object[]
                                  {
                                      lst[1].target1,lst[1].target2,lst[1].target3,lst[1].target4,lst[1].target5,lst[1].target6,lst[1].target7
                                  });
            Store2.Name = lst[1].StoreName;
            Store2.Type = DotNet.Highcharts.Enums.ChartTypes.Bar;

            series = new Series[] { Store1, Store2 };

            DotNet.Highcharts.Highcharts bar = new DotNet.Highcharts.Highcharts("chart")
            .SetPlotOptions(new PlotOptions
            {
                Bar = new PlotOptionsBar
                {
                    AllowPointSelect = true,                   
                    Cursor = DotNet.Highcharts.Enums.Cursors.Pointer,
                    ShowInLegend = true,
                    DataLabels = new PlotOptionsBarDataLabels
                    {
                        Color = System.Drawing.ColorTranslator.FromHtml("#000000"),
                        //ConnectorColor = System.Drawing.ColorTranslator.FromHtml("#000000"),
                    }
                }
            }) 
            .SetLegend(new Legend{
            Layout=DotNet.Highcharts.Enums.Layouts.Vertical
            })
                .SetXAxis(new XAxis
                {
                    Categories = new string[] {dt.DayOfWeek.ToString(),
                    dt.AddDays(-1).DayOfWeek.ToString(),
                    dt.AddDays(-2).DayOfWeek.ToString(),
                    dt.AddDays(-3).DayOfWeek.ToString(),
                    dt.AddDays(-4).DayOfWeek.ToString(),
                    dt.AddDays(-5).DayOfWeek.ToString(),
                    dt.AddDays(-6).DayOfWeek.ToString()
                    }
                })
            .SetTitle(new Title { Text = "Store Details" })
            .SetSeries(series);

            ltrchart.Text = bar.ToHtmlString();

Cliend Side code

<script src="Js/jquery-1.5.1.js" type="text/javascript"></script>
<script src="Js/highcharts.js" type="text/javascript"></script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
    <asp:Literal ID="ltrchart" runat="server"></asp:Literal>        
</ContentTemplate>
</asp:UpdatePanel>

我正在使用更新面板,但每当我刷新我的图表时都会消失。 如果我重新加载页面它工作正常,但当我尝试更改图形而不将其放在更新面板中时它不会改变。 我想使用更新面板,并希望我的图表更改而不是消失。 服务器端和客户端都没有出现任何错误。 请帮助我。

此致 阿布舍克巴克

1 个答案:

答案 0 :(得分:0)

我能够刷新以重新加载图表而不是数据点。

一个客户端,您需要将其添加到代码中。

Sys.Application.add_load(  //这里的图表渲染代码 )

这将使图表在更新更新面板时重新呈现。