Public JsonResult GetDetails()
{
List<Cust> Customers = new List<Cust>();
Customers = GetCustomerDetails();
var name = Customers.Select(e => new{e.custname}).Distinct().ToList();
var dept = Customers.Select(e => new{e.deptname}).Distinct().ToList();
var response = new{CustomerNames = name, CustomerDepartments = dept};
return Json(response, JsonRequestBehaviour.AllowGet();
}
我有上面的方法返回一个json对象,现在这个方法必须返回这个响应的一个子集以及它返回的一个,是否可以对department类型进行过滤并从同一个方法返回两个jon对象。
答案 0 :(得分:2)
不确定。您可以向匿名对象添加一个属性并返回该属性。
public JsonResult GetDetails()
{
var customers = GetCustomerDetails();
var names = customers.Select(e => new {e.custname}).Distinct().ToList();
var depts = customers.Select(e => new { e.deptname}).Distinct().ToList();
var deptSubSet = depts.Where(f=>f.deptname=="IT").ToList();
//replace this with your condition
var response = new { CustomerNames = names,
CustomerDepartments = depts,
FilteredDepartments = deptSubSet
};
return Json(response, JsonRequestBehaviour.AllowGet();
}
将Where
条件linq代码替换为您需要用于获取子集的where子句。
BTW,结果不是一个数组,它将是一个具有3个属性的对象。这些属性的值将是一个数组。