Jquery 使用ASP.NET MVC在x轴上使用Highcharts显示日期

Jquery 使用ASP.NET MVC在x轴上使用Highcharts显示日期,jquery,highcharts,Jquery,Highcharts,我有以下C#代码: 我的Highcharts配置如下所示: [{"Key":"\/Date(1319515200000)\/","Value":1000},{"Key":"\/Date(1319428800000)\/","Value":2000},{"Key":"\/Date(1319342400000)\/","Value":5000}] var options = { chart: { renderTo: 'chart', }, xAxis: {

我有以下C#代码:

我的Highcharts配置如下所示:

[{"Key":"\/Date(1319515200000)\/","Value":1000},{"Key":"\/Date(1319428800000)\/","Value":2000},{"Key":"\/Date(1319342400000)\/","Value":5000}]
var options = {
    chart: {
        renderTo: 'chart',
    },
    xAxis: {
        type: 'datetime'
    },
    series: []
}

jQuery.getJSON("/graph", null, function (items) {
    var series = {
        type: 'column',
        data: []
    };

    jQuery.each(items, function (itemNo, item) {
        series.data.push({
            name: item.Key,
            y: item.Value
        })
    });

    options.series.push(series);

    chart = new Highcharts.Chart(options);
    chart.render();
});

x轴将不显示我的日期。非常感谢您提供的任何帮助。

假设,
项.Key
包含类似“Date(1319342400000)”的内容,您可以尝试以下操作:

jQuery.each(items, function (itemNo, item) {
    var dateStr = item.Key;
    var dateVal = dateStr.substring(dateStr.indexOf('(')+1, dateStr.indexOf(')'));
    series.data.push([dateVal, item.Value]);
});
此外,您不需要以下行:

chart.render();
如果上述操作不起作用,您能否按如下方式检查
item.Key
的值:

jQuery.each(items, function (itemNo, item) {
    alert(item.Key);
    series.data.push(//...
jQuery.each(items, function (itemNo, item) {        
    series.data.push([item.Key, item.Value]);
});
更新:

这样就不需要使用
子字符串
索引of
。只需更改您的
jQuery。每个
如下所示:

jQuery.each(items, function (itemNo, item) {
    alert(item.Key);
    series.data.push(//...
jQuery.each(items, function (itemNo, item) {        
    series.data.push([item.Key, item.Value]);
});

假设,
item.Key
包含类似“Date(1319342400000)”的内容,您可以尝试以下操作:

jQuery.each(items, function (itemNo, item) {
    var dateStr = item.Key;
    var dateVal = dateStr.substring(dateStr.indexOf('(')+1, dateStr.indexOf(')'));
    series.data.push([dateVal, item.Value]);
});
此外,您不需要以下行:

chart.render();
如果上述操作不起作用,您能否按如下方式检查
item.Key
的值:

jQuery.each(items, function (itemNo, item) {
    alert(item.Key);
    series.data.push(//...
jQuery.each(items, function (itemNo, item) {        
    series.data.push([item.Key, item.Value]);
});
更新:

这样就不需要使用
子字符串
索引of
。只需更改您的
jQuery。每个
如下所示:

jQuery.each(items, function (itemNo, item) {
    alert(item.Key);
    series.data.push(//...
jQuery.each(items, function (itemNo, item) {        
    series.data.push([item.Key, item.Value]);
});
我最终使用了:

Dictionary<string, decimal>()
在客户端。它工作得很好。

我最终使用了:

Dictionary<string, decimal>()

在客户端。它工作得很好。

@Thomas:你试过
alert(item.Key)吗
查看
项的内容。Key
?是的,它包含1319342400000,但它不显示在x轴上。我认为它不足以将1319342400000数字插入键区。我认为您必须执行诸如series.data.push([newdate(item.Key)、item.Value])之类的操作@托马斯:你有没有试过提醒(item.Key)
查看
项的内容。Key
?是的,它包含1319342400000,但它不显示在x轴上。我认为它不足以将1319342400000数字插入键区。我认为您必须执行诸如series.data.push([newdate(item.Key)、item.Value])之类的操作;