1

我有以下问题:

首先,我在控制器中有一个方法,它返回带有 Json 格式模型的 PartialView。其次,我需要初始化图形(我使用 jqPlot - 初始化这个用 JavaScript 实现的图形,它需要 Json 格式的数据)。我想从模型中获取数据。

问题:如何从模型中获取数据,然后在 javascript 中使用它们?

模型:

public class GraphicDataModel
{
    public List<string> ValuesX { get; set; }
    public List<double> ValuesY { get; set; }
}

控制器:

public ActionResult ProcessesInPlanGraphic(int? versionId)
    {
        //...some business logic
        var model = Json(new{ model = GraphicDataModel }, JsonRequestBehavior.AllowGet);
        return PartialView("ColumnBar", model);
    }

看法:

@model ??? WHAT SHOULD I GIVE HERE ???

<script type="text/javascript">
    $(document).ready(function () {

       //??? HOW TO GET HERE DATA FROM MODEL ???

        $.jqplot('BarChartForPlan', [ValuesY], {
            seriesDefaults: {
                renderer: $.jqplot.BarRenderer,
                rendererOptions: { fillToZero: true }
            },
            axes: {
                xaxis: {
                    renderer: $.jqplot.CategoryAxisRenderer,
                    ticks: ValuesX
                },
                yaxis: {
                    min: 0,
                    pad: 1.05,
                    tickOptions: { formatString: '$%d' }
                }
            }
        });
    });
</script>

如果我使用 Ajax 来初始化所有作品。一个工作示例:

public ActionResult FetchGraphData()
{
    return Json(new {valuesX = ValuesX, valuesY = ValuesY}, JsonRequestBehavior.AllowGet);
}

来自 Javascript 的代码:

var url = '@Url.Action("FetchGraphData", "Home")';

$.ajax({
    url: url,
    type: 'GET',
    success: function (result) {
        //Call function to initialize graphics
        testJqPlot(result.valuesX, result.valuesY);
    }
});

我真的需要你的帮助

4

0 回答 0