我有以下问题:
首先,我在控制器中有一个方法,它返回带有 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);
}
});
我真的需要你的帮助