从一个操作到另一个操作使用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。我该怎么做?

从一个操作到另一个操作使用Json Result

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))。数据