Ich versuche, die jquery flot Grafik-Plugin mit asp.net mvc zu verwenden. Ich versuche, Daten dynamisch aus einem JsonResult zu ziehen, um den Graphen zu füllen.ASP.NET MVC JsonResult und JQuery Flot
Mein Problem ist, dass ich nicht scheinen kann, die Daten aus dem JsonResult im richtigen Format zurückgegeben.
Hier ist meine Server-Seite Code:
public ActionResult JsonValues()
{
IList<IDictionary<string, int>> listofvalues = new List<IDictionary<string, int>>();
IDictionary<string, int> values1 = new Dictionary<string, int>();
values1.Add("2003", 10882);
values1.Add("2002", 10383);
values1.Add("2001", 10020);
values1.Add("2000", 9762);
values1.Add("1999", 9213);
values1.Add("1998", 8720);
IDictionary<string, int> values3 = new Dictionary<string, int>();
values3.Add("2003", 599);
values3.Add("2002", 510);
values3.Add("2001", 479);
values3.Add("2000", 457);
values3.Add("1999", 447);
values3.Add("1998", 414);
listofvalues.Add(values1);
listofvalues.Add(values3);
JsonResult result = new JsonResult { Data = listofvalues };
return result;
}
Und hier ist Code meine Client-Seite:
$(function() {
$.getJSON("/path/to/JsonValues", function(data) {
var plotarea = $("#plot_area");
$.plot(plotarea, data);
});
});
Hinweis, die folgende Client-Seite Code funktioniert gut:
$(function() {
var points = [
[[2003, 10882],
[2002, 10383],
[2001, 10020],
[2000, 9762],
[1999, 9213],
[1998, 8720]],
[[2003, 599],
[2002, 510],
[2001, 479],
[2000, 457],
[1999, 447],
[1998, 414]]
];
var plotarea = $("#plot_area");
$.plot(plotarea, points);
});
Vorausgesetzt, dass das obige korrekt funktioniert, scheint es, dass es nur darum geht, das zurückgegebene JsonResult korrekt zu formatieren. Wie kann ich das machen? Ist die Liste der Wörterbücher der beste Typ, der zurückgegeben werden soll, oder sollte ich etwas anderes verwenden? Oder gibt es eine Funktion in Javascript, die ich verwenden sollte, um die Daten korrekt zu formatieren?
Scheint wie eine wirklich einfache Sache, aber ich kann es nicht ganz funktionieren.
I verwendet t zuerst seine Antwort für mein Programm, aber ich fand eine andere imho bessere Lösung unten: http://Stackoverflow.com/a/19114827/605586 – Thomas