2012-07-09 86 views
1

我是新手,現在我試圖顯示與MVC的圖表。MVC最好的方式來顯示圖表

有兩種可能性,以顯示圖表:

  1. System.Web.UI.DataVisualization.Charting.Chart
  2. System.Web.Helpers.Chart

這是這兩種解決方案之間的不同?和之間的優勢/劣勢是什麼?

目前,我試試這個代碼:

控制器:

[HttpPost] 
    public ActionResult RenderRainfallChart() 
    { 
     var incomeList = Income.GetList(); 
     List<string> xValue = new List<string>(); 
     List<decimal> yValue = new List<decimal>(); 

     foreach (var item in incomeList) 
     { 
      xValues.Add(item.Name); 
      yValues.Add(item.Amount); 
     } 

     var key = new System.Web.Helpers.Chart(width: 600, height: 400) 
      .AddSeries(
       legend: "IncomeLIst", 
       xValue: xValue, 
       yValues: yValues) 
      .Write();} 

我的按鈕選擇後,該圖表將顯示一個新的broswer頁面上:... /公司/ RenderRainfallChart

是否有可能在索引網站上的div容器中顯示圖表?

回答

0

Google圖表API可能?它使用JavaScript,因此您必須在頁面中寫入值或使用AJAX檢索它們。

+0

但對於谷歌圖表API,我需要一個互聯網連接,還是? – NimraF 2012-08-07 13:39:50

+0

您與MVC合作不? 99%的時間服務器將具有活動的Internet連接 – 2012-08-07 13:59:47

0

對於一個非交互式圖表,您可以讓一個GET獲取圖表的圖像,然後在您的網頁上,您可以簡單地將一個<img>指向該URL。

你可以使用這樣的圖表圖像字節:

byte[] GetBytes(Chart chart, ChartImageFormat imageFormat) 
{ 
    using (var stream = new MemoryStream()) 
    { 
     chart.SaveImage(stream, imageFormat); 
     return stream.ToArray(); 
    } 
}