2016-11-29 1 views
0

Guten Tag!Kann Eigenschaft "Match" von undefined asp nicht lesen MVC Morris Chart

Ich arbeite gerade an einem Dashboard mit einem Morrishart drin. Das Dashboard wurde mit ASP MVC erstellt.

Mit Javascript rufe ich eine Funktion in meinem Controller, die mir meine Daten zurückgibt.

$.get('@Url.Action("Diagram")', function (result) { 
      console.log(result) #Has the the correct information 
      Morris.Line({ 
       element: 'morris-area-chart', 
       data: result, 
       xkey: 'period', 
       ykeys: ['ColliAantal'], 
       labels: ['Colli aantal'], 
       pointSize: 1.5, 
       hideHover: 'auto', 
       resize: true 
      }); 

"Ergebnis" enthält die json Daten i für das Diagramm benötigen.‘

Der Code, den ich hier zeige, ist der Controller-Code. Scorebord ist bereits definiert und hat die guten Daten drin.

try 
{ 
    List<ChartData> chartData = new List<ChartData>(); 
    foreach (Scorebord item in scorebord.Take(100)) 
    { 
     chartData.Add(new ChartData(item.ColliQty, item.Datum)); 
    } 
    var json = JsonConvert.SerializeObject(chartData); 
    return Json(json, JsonRequestBehavior.AllowGet); 
} 
catch (Exception ex) 
{ 
    return null; 
} 

Die seltsame Sache ist, wenn ich in Debug gehen und die Daten kopieren, die in der Steuerung und daran vorbei in direkt in der JavaScript als Daten, das Ding funktioniert plötzlich zurückgeführt wird!

Ich hoffe, dass mir jemand mit diesem, wahrscheinlich einfachen, Problem helfen kann. Vielen Dank!

Antwort

1

Haben Sie bereits versucht, Ihre json var (nur Zeichenfolge) anstelle eines Objekts vom Typ Json zurückzugeben?

+0

Gemäß der Dokumentation gibt JsonConvert.SerializeObject (chartData) eine Zeichenfolge zurück. Ist es das was du meinst? –

+0

Ja, versuchen Sie, die Zeichenfolge zurückzugeben, die von der Funktion JsonConvert.SerializeObject (chartData) generiert wird – rubenj

+0

Ich habe gerade versucht, die Zeichenfolge direkt im Diagramm zurückzugeben. Es machte keinen Unterschied. –

Verwandte Themen