ビュー内のコントローラーからJavaScriptに配列を渡すのに問題があります。ASP .Net MVC3を使用していて、データベースからのデータを使用していくつかのグラフ/グラフィックを作成しようとしています。HighChartsjavascriptを見つけて、それを使用しようとしています。
次に例を示します。
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Browser market shares at a specific website, 2010'
},
tooltip: {
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: [
['Firefox', 45.0],
['IE', 26.8],
['Chrome', 12.8],
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
]
}]
});
});
});
私はこのクラスを作りました:
public class RegistoPie
{
public string na { get; set; }
public double da { get; set; }
public RegistoPie(string n, double d) {
na = n;
da = d;
}
}
そして私はこのオブジェクトをjavascriptのデータ変数を埋めようとしているビューに送信します:
var pie = new [] { new RegistoPie("papa",20.0), new RegistoPie("pepe",50.0) };
しかし、次のようなものが返されます。
[{"na":"papa","da":20},{"na":"pepe","da":50}];
したがって、JavaScriptのデータ変数と同じ構文ではありません。
[[string,double], [,] , ... ]
誰か助けて?Ty、Hélder