2012-08-12 192 views
1

我LoggedUserHome.Controller有這個動作圖表MVC3給出了一個空白圖表

public ActionResult GetGender() 
    { 


     var AllGender = new List<string>(from c in db.tbl_Profile select c.sex).ToList(); 
     var Groping = AllGender 
      .GroupBy(i => i) 
      .Select(i => new { sex = i.Key, CountGet = i.Count() }).ToArray(); //get a count for each 

     var key = new Chart(width: 300, height: 300) 
      .AddSeries(
      chartType: "pie", 
      legend: "Gender Popularity", 
      xValue: Groping, xField: "sex", 
      yValues: Groping, yFields: "CountGet") 
      .Write("gif"); 
     return null; 

    } 

在我看來,我已經給

<img src="/LoggedUserHome/GetGender"/> 

感謝Nexuss ToArray的()建議我設法填充圖表通過閱讀數據庫..非常感謝Nexuzz

+0

您的操作不會返回任何數據,但是空的,所以使用圖表不會出現在你的用戶界面上。 – norbip 2012-08-12 10:36:31

回答

1

簡單的解決方案是試圖取代你的

<img src="/LoggedUserHome/GetGender"/> 
視圖

@{ 
    var d = new PrimeTrekkerEntities1(); 
    var AllGender = new List<string>(from c in d.tbl_Profile select c.sex).ToList(); 
    var Groping = AllGender 
     .GroupBy(i => i) 
     .Select(i => new { sex = i.Key, Count = i.Count() }); //get a count for each 

    var key = new Chart(width: 600, height: 400) 
     .AddSeries(
     chartType: "pie", 
     legend: "Gender Popularity", 
     xValue: Groping, xField: "sex") 
     .Write("gif"); 
} 

在這種情況下「是」你不需要動作GetGender。

更復雜的解決辦法是離開

<img src="/LoggedUserHome/GetGender"/> 
視圖

,但要GetGender()動作返回圖表圖像的URL。所以,你可以在GetGender()中做的是以某種方式將圖表渲染成圖像文件並返回包含圖像路徑的響應。

更新:

我已經更新了你的榜樣了一下,所以它在圖表中顯示的數據。這裏是我的本錢:

@{ 
    var AllGender = new List<string>() { "Male", "Female", "Male"}; 
    var Groping = AllGender 
     .GroupBy(i => i) 
     .Select(i => new { sex = i.Key, Count = i.Count() }).ToArray(); //get a count for each 

    var key = new Chart(width: 600, height: 400) 
     .AddSeries(
     chartType: "pie", 
     legend: "Gender Popularity", 
     xValue: Groping, xField: "sex", 
     yValues: Groping, yFields: "count") 
     .Write("gif"); 
} 

有你的榜樣兩個主要區別:現在

  • Groping是一個數組。據我瞭解圖表要求數據被列舉
  • 我加入yValuesyFields參數,所以圖表知道什麼值在Y軸上
+0

非常感謝你的幫助nexuzzz ..但我仍然堅持這個..如果你可以建議我一個非常簡單的文章,它運行查詢從數據庫中獲取數據,然後顯示在圖表中.. .. – Niki 2012-08-16 13:49:18

+0

對不起 - 我沒有注意到你的評論。如果它仍然是實際檢查那篇文章:http://www.asp.net/web-pages/tutorials/data/7-displaying-data-in-a-chart看起來它有你需要的一切。如果它不是,我們可以嘗試做一些特別的:) – nexuzzz 2012-08-25 06:20:02

+0

I'hv嘗試了很多次這個教程..但這是一個老版本的教程,也是「用ASP.NET網頁在圖表中顯示數據「不是MVC ...順便說一句,謝謝你的幫助 – Niki 2012-08-26 14:22:37