使用setOptions时,Highcharts未引用错误

时间:2015-01-27 02:24:22

标签: javascript c# asp.net highcharts dotnethighcharts

我们目前正在使用DotNet.Highcharts API将Highcharts合并到我们的网站中。但是,在使用.SetOptions(GlobalOptions)调用时,我们遇到了一些JavaScript参考问题。

我们正在使用包装器类在控制器中构建我们的图表,然后使用一个简单的视图来呈现它。

在我们的控制器中:

Chart chart = new HighCharts("chart-id");
chart.SetOptions(new GlobalOptions { Global = new Global { UseUTC = false; } });
chart.SetPlotOptions()...

在我们看来:

@model HighchartWrapper

@(Model.Chart)

图表在视图中呈现如下:

<script type="text/javascript">
    Highcharts.setOptions({ global: { useUTC: false } });
    var chart05;
    $(document).ready(function() {
    });
</script>

Chrome正在筹集

  

“未捕获的ReferenceError:未定义Highcharts”

.setOptions()语句中的

错误。如果没有这个(以及.NET中相应的.SetOptions()语句),图表将正确呈现。如果我离开此页面然后再返回,则图表会开始正确呈现。

我发现操纵ToHtmlString()返回值以将.setOptions调用放到.ready()部分内部会使图表正确显示。这是其他人不得不求助的方法吗?

1 个答案:

答案 0 :(得分:1)

您的怀疑是对的,您需要在doc中运行相关代码,如下所示。

$(document).ready(function() {
    var chart = new Highcharts.Chart(options);
});

根据文档,这些示例都是在加载dom后执行的,因此可以安全地假设这是最佳实践,并期望在javascipt库中,正在执行的代码将取决于.ready功能。当然,通过源头挖掘将回答你有任何进一步的问题,但这完全没问题。

<强> Highcharts - How to set options