Estoy tratando de usar el complemento de gráficos jquery flot con asp.net mvc. Intento extraer dinámicamente datos de un JsonResult para completar el gráfico.ASP.NET MVC JsonResult y JQuery flot
Mi problema es que parece que no puedo obtener los datos devueltos de JsonResult en el formato correcto.
Aquí es mi servidor de código del lado:
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;
}
Y aquí es mi código del lado del cliente:
$(function() {
$.getJSON("/path/to/JsonValues", function(data) {
var plotarea = $("#plot_area");
$.plot(plotarea, data);
});
});
Nota, el siguiente código del lado del cliente funciona bien:
$(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);
});
Dado que lo anterior funciona correctamente, parece que solo se trata de formatear el JsonResult devuelto correctamente. ¿Cómo puedo hacer esto? ¿Es la lista de diccionarios el mejor tipo para devolver, o debería estar usando algo más? ¿O hay una función en javascript que debería usar para formatear los datos correctamente?
Parece una cosa realmente simple, pero no puedo hacer que funcione.
primera vez que utiliza t su respuesta para mi programa, pero encontré una mejor solución imho mejor a continuación: http://stackoverflow.com/a/19114827/605586 – Thomas