2010-02-18 44 views
7

我想學習如何使用Flot,我認爲你的例子是一個非常好的,簡單的,非常容易理解的代碼,所以我一直在試圖實現它,但這裏是我的代碼在index.aspx:如何在ASP.NET MVC中使用jQuery的flot?

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

這裏是在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); 
} 

所有我得到的是一個空的圖形,雖然在指數報警時。我得到了完美的格式化JSON數據。

我在做什麼錯?

回答

11

我會建議你避免在你的控制器中手工創建JSON。試試這個:

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

並在視圖:

<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,太感謝你了,那對我來說:) – Lina 2010-02-18 09:39:35

+0

偉大的工作,我也試圖在海軍報使用JSON,但在vb .NET/asp.net。我有一個數據集,然後被序列化成一個JSON字符串。我怎樣才能把這個字符串放入flot圖中? – MyHeadHurts 2010-11-12 18:18:33

相關問題