如何在ASP.NET MVC中使用flot和jQuery?

bom*_*mbo 7 asp.net asp.net-mvc jquery json flot

我正在尝试学习如何使用Flot,我认为你的例子是一个非常好的,简单的,非常容易理解的代码,所以我一直在尝试实现它,但这里是我在index.aspx中的代码:

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

这是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);
}
Run Code Online (Sandbox Code Playgroud)

我得到的只是一个空图,尽管在索引中发出警报.我得到了完美的格式化JSON数据.

我究竟做错了什么?

Dar*_*rov 11

我建议你不要在控制器中手动创建JSON.试试这个:

public ActionResult JsonValues()
{
    return Json(
        new[] { new[] { 0, 0 }, new[] { 1, 1 } }, 
        JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

在视图中:

<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>
Run Code Online (Sandbox Code Playgroud)