用控制器返回的值填充图表
Populate the chart with values returned by controller
我创建了一个c# asp.net MVC应用。控制器如下图所示。我正在使用高图表,我想用控制器返回的内容填充图表。
下面有两个字段,Mon和Tue,我需要在下面的javascript中填充硬编码值,以显示控制器返回的值;
注意:我不确定控制器方法是否有效:((我是初学者),但我更关心如何用控制器返回的值填充图表。
My c# controller;
public string timeHour()
{
var m = new MyModel();
m.theTime = getAllTime(); // get all time
return new JavaScriptSerializer().Serialize(m);
}
高图表,我有它在视图;
$(function () {
$('#container').highcharts({
chart: {
type: 'areaspline'
},
title: {
text: 'some title'
},
legend: {
layout: 'vertical',
align: 'left',
verticalAlign: 'top',
x: 150,
y: 100,
borderWidth: 1,
backgroundColor: '#FFFFFF'
},
xAxis: {
categories: [
'Mon',
'Tue'
],
plotBands: [{ // visualize the weekend
from: 4.5,
to: 6.5,
color: 'rgba(68, 170, 213, .2)'
}]
},
plotOptions: {
areaspline: {
fillOpacity: 0.5
}
},
series: [{
name: 'John',
data: [3, 4]
}]
});
});
首先,我将控制器的返回类型从string
更改为JsonResult
。让你的控制器返回ActionResults是一个很好的mvc风格的约定,它使你的代码更具描述性。
[HttpGet]
public JsonResult timeHour()
{
var m = new MyModel();
m.theTime = getAllTime(); // get all time
return Json(m, JsonRequestBehavior.AllowGet)
}
我相信GET
和POST
请求应该都适合你。看起来getallTime()
是幂等的(尽管这里没有显示代码),所以看起来GET
请求应该可以工作。这可以在jQuery中使用.get()方法完成:
$(function () {
$.get("timeHour", null, function(result) {
console.log("If the GET request is successful, the Controller will return the HighCharts data:");
console.log(result);
}, "json");
});
您需要确保返回给客户端的JSON是Highcharts喜欢的格式。既然已经成功地调用了Controller(通过AJAX GET请求)并且返回了Highcharts数据,那么您的第二个问题就可以回答了:
如何用控制器返回的值填充图表
…通过Highcharts系列。数据"文档。如果你读了这篇文章,我想你可以弄清楚你需要如何改变MyModel
对象来满足你的需求。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- 从填充了 AJAX 的下拉列表中获取控制器的操作方法中的值
- 如何将数据从 angularJS 工厂填充到控制器
- 在模板angularJs中从控制器填充id属性的值
- 控制器操作参数未从 AJAX 开机自检正确填充
- 控制器值未正确填充
- AngularJs 不显示从控制器填充的列表
- 角度,控制器之间共享(在填充后?)
- 如何使用AngularJs、Ui Router和MongoDB轮询数据库并填充控制器
- angularjs用现有控制器中的REST服务填充作用域变量
- 数组的字符串填充的数据在jquery中,但去空控制器
- Angularjs PHP $http和在控制器中填充$scope的数据
- 主干-在我的控制器中从一个fetch调用填充多个模型
- 如何通过Ajax填充范围变量得到控制器内部
- 为什么select2控件没有通过AngularJS控制器填充动态数据?
- 下拉框没有使用ajax和控制器动作填充
- 当尝试绑定ajax和控制器动作时,下拉菜单没有填充
- 用控制器返回的值填充图表
- 如何访问AngularJS控制器中由$resource get()填充的数组