2010-02-18 12 views
7

Estoy tratando de aprender a usar Flot, y creo que su ejemplo es un código muy agradable, simple y muy comprensible, así que he estado tratando de implementarlo, pero aquí está mi código en el índice.aspx:Cómo usar flot con jQuery en ASP.NET MVC?

$(function() { 
    $.getJSON("../../Home/JsonValues", function (data) { 
     alert('json: ' + data + ' ...'); 
     var plotarea = $("#plot_area"); 
     $.plot(plotarea, data); 
     //$.plot(plotarea,[ [[0, 0], [1, 1]] ]); 
    }); 
}); 

Y aquí es el código de la HomeController:

public ActionResult JsonValues() 
{ 
    //string s = "[ [[0, 0], [1, 1]] ]"; 
    //return Json(s, JsonRequestBehavior.AllowGet); 
    StringBuilder sb = new StringBuilder(); 
    sb.Append("[[0, 0], [1, 1]]"); 
    return Json("[" + sb.ToString() + "]", JsonRequestBehavior.AllowGet); 
} 

Todo lo que estoy haciendo es un gráfico de vacío, aunque cuando alerta en el índice. Obtengo los datos JSON formateados perfectos.

¿Qué estoy haciendo mal?

Respuesta

11

Le aconsejo que evite crear JSON manualmente en su controlador. Tal vez puedas probar:

public ActionResult JsonValues() 
{ 
    return Json(
     new[] { new[] { 0, 0 }, new[] { 1, 1 } }, 
     JsonRequestBehavior.AllowGet); 
} 

Y en la vista:

<div id="plot_area" style="width:600px;height:300px;"></div> 

<script type="text/javascript"> 
$(function() { 
    $.getJSON('../../Home/JsonValues', function (data) { 
     $.plot($('#plot_area'), [data]); 
    }); 
}); 
</script> 
+0

wohoooo, muchas gracias, que funcionó muy bien para mí :) – Lina

+0

También estoy tratando de usar JSON en Flot, pero en vb .net/asp.net. Tengo un conjunto de datos que luego se serializa en una cadena JSON. ¿Cómo puedo tomar esta cadena y ponerla en un gráfico flotante? – MyHeadHurts

Cuestiones relacionadas