从一个操作到另一个操作使用Json Result
本文关键字:操作 另一个 Json Result 一个 | 更新日期: 2023-09-27 17:58:32
我之前定义的操作使用JsonResult返回List<T>()
int Json格式。我想在另一个操作中使用相同操作的JSON结果。
为了更好地理解,我的常见操作是:
public JsonResult GetReferences(long CustomerID)
{
var CustomerReference = new List<ReferenceViewModel>();
//Code to push data into CustomerReference
return Json(CustomerReference.OrderBy(x=>x.ReferenceName));
}
我想在我的其他操作中使用上面的JsonResult作为::
public ActionResult MassUpdate(List<long> CustomerIDs, List<long> DocumentIDs)
{
List<ReferenceViewModel> JsonCustomerReference = GetReferences(CustomerID);
}
但我无法在此处访问JsonResult。我该怎么做?
GetReferences正在返回一个不是List的JSONREsult。你为什么不试着逃避一下呢:
private IEnumerable<ReferenceViewModel> getReferences(long CustomerID)
{
var customerReferences = new List<ReferenceViewModel>();
//Code to push data into CustomerReference
return customerReferences;
}
public JsonResult GetReferences(long CustomerID)
{
return Json(customerReference(CustomerID).OrderBy(x=>x.ReferenceName));
}
public JsonResult MassUpdate(List<long> CustomerIDs, List<long> DocumentIDs)
{
var allData = CustomerIDs.SelectMany(x => customerReference(x)).OrderBy(x=>x.ReferenceName);
return Json(alldata);
}
我在这里做一些假设。但我认为这就是你想要的。您还可以将getReferences的返回类型更改为IEnumerable,并在每个Action中进行排序(如果这是您想要的)。我更新了我的答案以反映这一变化。
我希望你想要这样的东西。
JsonResult在数据属性中保存数据。哪个是对象,所以你需要把它扔回去。
List JsonCustomerReference=(List)((JsonResult)GetReferences(CustomerID))。数据