2012-04-08 91 views
1

我想從下面的類獲取數據:MVC JSON數據對象

public class SalesData 
    { 
     public string RepName { get; set; } 

     public string DateString { get; set; } 

     public decimal TotalSales { get; set; } 

     public decimal RepSales { get; set; } 
    } 

    public static class SalesDataBuilder 
    { 
     public static List<SalesData> GetCollection() 
     { 
      return new List<SalesData> 
      { 
       new SalesData 
       { 
        RepName = "Nancy Davolio", 
        DateString = "Aug 2010", 
        TotalSales = 10458, 
        RepSales = 2015 
       }, 

       new SalesData 
       { 
        RepName = "Nancy Davolio", 
        DateString = "Sept 2010", 
        TotalSales = 21598, 
        RepSales = 6003 
       }, }; 
     } 

在我的控制器使用JSON,我試過如下:

public JsonResult IndexJson() 
     { 
      IEnumerable<SalesData> person = (from e in SalesData 

                select new SalesData 
               { 
                RepName = e.RepName, 
                RepSales = e.RepSales 
               }); 
      return Json(person); 
     } 

當然,我做錯了什麼,對json非常新穎。我希望你的建議。提前致謝。

+3

那麼......你的問題是什麼? – 2012-04-08 04:33:18

+0

控制器中的jsonResult不起作用! – hncl 2012-04-08 04:56:26

+2

它是如何工作的?你不能在客戶端使用它嗎?是否有錯誤或編譯問題?這裏沒有問題。 – Tommy 2012-04-08 05:44:44

回答

1

你的代碼甚至沒有編譯。你永遠不會打電話給SalesDataBuilder.GetCollection方法。試試這樣:

public ActionResult IndexJson() 
{ 
    IEnumerable<SalesData> person = 
     from e in SalesDataBuilder.GetCollection() 
     select new SalesData 
     { 
      RepName = e.RepName, 
      RepSales = e.RepSales 
     }; 
    return Json(person, JsonRequestBehavior.AllowGet); 
} 

請注意,我傳遞JsonRequestBehavior.AllowGet以JSON的方法,如果您使用的是GET動詞調用這個動作是必要的。

+0

謝謝Darin。 – hncl 2012-04-08 14:43:18