我想显示一个jqplot饼图,我能用静态数据显示它,但我想用数据库显示动态数据..为此,我连接到我的数据库,并将数据绑定到列表,现在我如何从我的视角中调用该列表?
$(document).ready(function(){
var data = [
['Heavy Industry', 12],['Retail', 9], ['Light Industry', 14],
['Out of home', 16],['Commuting', 7], ['Orientation', 9]
];
var plot1 = jQuery.jqplot ('chart1', [data],
{
seriesDefaults: {
// Make this a pie chart.
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
// Put data labels on the pie slices.
// By default, labels show the percentage of the slice.
showDataLabels: true
}
},
legend: { show:true, location: 'e' }
}
);
});
,现在我的要求是从数据库显示相同的数据,并将这些数据绑定到我的控制器中的列表,现在我如何从我的视图中调用该列表?
答案 0 :(得分:0)
考虑到您正在使用MVC,您可以将模型中的所有数据与关键值对列表放在一起,然后将其转换为JSON,同时将其传递给javascript。 如果您希望通过ajax完成此操作,那么您可以将请求发送到json并从控制器的Action方法获取JSON结果。
使用Javascript序列化程序将模型转换为动作方法中的Json
var data = somedata_with_KeyValuePair;
var model = new MyModel();
var serializer = new JavaScriptSerializer();
model.JsonData = serializer.Serialize(data);
return View(model);
然后像这样使用它
var data = <%= Model.JsonData %>
或者如果您使用的是MVC 3,那么以下内容也可以正常使用
@Html.Raw(Json.Encode(YourObjectContaingListOfKeyValue)) seems to do the trick.