0

我想显示一个 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' }
  }
  );
  });

,现在我的要求是显示数据库中的相同数据,并且我将此数据绑定到我的控制器中的列表,现在我如何从我的视图中调用该列表?

4

1 回答 1

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.
于 2013-03-05T10:36:02.710 回答