7

尝试在客户端为js生成一个数组:

var ds = [{ text: "john", value: "1" }, { text: "paul", value: "2" }];

在我的 asp.net mvc 3 控制器中,我创建了一个实体框架模型并尝试返回一个列表:

NORTHWNDEntities db = new NORTHWNDEntities();
public ActionResult GetCustomers()
{ 
    return Json( db.Customers,JsonRequestBehavior.AllowGet);
}

目前我无法弄清楚只是将 customername+customerid 属性作为客户列表(NWind 数据库)返回?

4

2 回答 2

10

试试这个 - 为每个客户创建一个具有您想要的属性的新匿名对象。

public ActionResult GetCustomers()
{ 
    var customers = from o in db.Customers
                select new { customerName = o.CustomerName, customerId = o.CustomerId};

    return Json(customers.ToList(), JsonRequestBehavior.AllowGet);
}

请注意,如果你想要前。"text" 和 "value" 作为 JSON 数组中的值,只需将上面的 customerName 和 customerId 更改为您想要的任何名称。

于 2013-09-10T00:20:13.060 回答
5

尝试这个:

public ActionResult GetCustomers()
{ 
     var customers = for c in db.Customers
            select new { text = c.CustomerName, value = c.CustomerId};

     return Json( customers.ToArray(), JsonRequestBehavior.AllowGet);
}
于 2013-09-10T01:32:26.750 回答