使用asp.net mvc4从northwind db返回json

时间:2012-12-05 15:23:47

标签: asp.net-mvc json entity-framework asp.net-mvc-4

我正在尝试将json对象从我的控制器返回到我的视图。我正在使用northwind db进行测试,并使用二手dbfirst来创建模型。从我的理解,我必须使用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>

2 个答案:

答案 0 :(得分: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());
}

答案 1 :(得分:-2)

在发送之前先尝试实现表达式(只需调用toArray)