2013-03-05 70 views
0

我想顯示一個jqplot餅圖,即時能夠顯示它與靜態數據,但我想顯示動態數據從數據庫..爲此,我連接到我的數據庫,並將數據綁定到列表,現在如何我可以從我的視角打電話給我嗎?將動態數據傳遞給mvc3中的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

考慮到您使用的是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.