2012-12-05 65 views
0

我想從我的控制器返回一個json對象到我的視圖。我使用northwind db進行測試,並使用dbfirst創建模型。從我的理解我必須使用匿名類型的JSON。但它不起作用。我不是什麼最好的調試方法。從asp.net mvc4從northwind db返回json

(與manualy生成的列表我註釋掉它的工作原理...)

控制器:

public JsonResult GetData() 
    { 
     ////List<int> result = new List<int>() { 1, 4, 5 }; 
     ////return Json(result); 

     using (var db = new NorthwindEntities()) 
     { 
      var results = from Cust in db.Customers 
          select new 
          { 
           CustomerAddress = Cust.Address, 
           CustomerCity = Cust.City, 
           CustomerCompanyName = Cust.CompanyName 
          }; 

      return Json(results); 

      Console.Write(results); 
     } 
    } 

查看:

<input id="btn" type="button" /> 

<script type="text/javascript"> 
$("#btn").click(function() { 
    $.post("/Northwind/GetData", null, function (data) { 
     alert(data); 
    }); 
}); 
</script> 
+0

你能試試:'返回JSON(結果,JsonRequestBehavior.AllowGet);' –

+0

我使用後:) – lukas

+0

我知道。不重要。 AllowGet用於處於警報狀態的數據。 –

回答

-2

先嚐試之前兌現表達將其發回(只需調用toArray)

0

你的背景下已經設置,使用:

public JsonResult GetData() 
{ 
    var db = new NorthwindEntities() 

    var results = from Cust in db.Customers 
         select new 
         { 
          CustomerAddress = Cust.Address, 
          CustomerCity = Cust.City, 
          CustomerCompanyName = Cust.CompanyName 
         }; 

    return Json(results.ToList()); 
}