2013-09-09 2 views
4

Попытки сформировать массив на стороне клиента для ЯШ:asp.net MVC 3 Возвращения JSON массив

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

В моем ASP.NET MVC 3 контроллера я создал модель entityframework и пытаюсь вернуть список :

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

в данный момент я не могу понять, просто вернуть CUSTOMERNAME + CUSTOMERID свойство как список клиентов (NWind базы данных)?

ответ

8

Попробуйте это - для каждого клиента создайте новый анонимный объект со свойствами, которые вы хотите.

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

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

Примечание, если хотите, например. «текст» и «значение» должны быть значениями в вашем массиве JSON, просто измените имя клиента и customerId выше на любые имена, которые вы хотите.

+0

Как я мог включать 'where' положение в этом запросе? – Mwas

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); 
}