当将控制器中带有计算值的网格传递给视图时,模型返回null

本文关键字:视图 null 返回 模型 网格 控制器 计算 | 更新日期: 2023-09-27 18:17:19

这里我有两个文件是分配和其他文件是金额。我想在((Allocation/100)*Amount)中显示第三个字段

我有这个代码,但它不工作。在查看我的模型返回空值。下面我显示了我的控制器的代码。

public ActionResult recommendedportfolio()
  {
     using (var db = new WFTradeEntities1())
     {
        return View(db.Schema_Details.ToList());
      }
  }
[HttpPost]
public ActionResult recommendedportfolio(int sName)
 {
    using (var db = new WFTradeEntities1())
     {
      var tr = db.Schema_Details.ToList().Where(C => C.RID == sName).Sum((x =>        x.Allocation / 100));
      var total = db.Schema_Details.Sum((x => x.Lum_Sum_Amount * tr )&& (x =>x.SIPAmount * tr ));
      return PartialView("_PortfolioTable", total);
      }
}

所以请帮助我,我想要两个显示的数额在第三个raw n在第四raw相同计数…在下面的图片中,我可以显示我的查询和输出。我必须修复lum_Sum_Amount 25000。
在分配中,一些%给予50% 20% 30% =总数100%。我在lum_Sum_Amount视图中所做的是计算分配百分比值n获得一些值,该值显示在总数中。

输入图片描述

当将控制器中带有计算值的网格传递给视图时,模型返回null

首先你需要创建一个模型

public class LINQDATA2
{
    public Int64 SID { get; set; }
    public Int64 RID { get; set; }
    public string Schema_Name { get; set; }
    public string SType { get; set; }
    public string InvestmentType { get; set; }
    public int Allocation { get; set; }
    public int Lum_Sum_Amount { get; set; }
    public float Total { get; set; }
}

因为动态列在LINQ中是不可能的。

现在执行类似

的查询
var x = data.Select(i => new LINQDATA2 { SID = i.SID, Total = (i.Allocation / 100) * i.Lum_Sum_Amount }).ToList();

并将此模型传递给局部视图