Asp. Net Mvc 3 Return Json Array

Asp. Net Mvc 3 Return Json Array

Trying to generate an array on the client side for js:

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

In my asp.net mvc 3 controller I have created a entityframework model and trying to return a list :

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

at the moment I cant figure out just to return the customername+customerid property as a list of customers (NWind database)?

2 Answers

Try this - for each customer create a new anonymous object with the properties you want.

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

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

Note if you want for ex. "text" and "value" to be the values in your JSON array simply change customerName and customerId above to whatever names you want.

1

try this:

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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Maya Lin-Takahashi
Author

Maya Lin-Takahashi

Maya is a hardware enthusiast who tests and reviews smart home devices, smartphones, wearables, and audio gear. She focuses on practical consumer value and build quality.