当将控制器中带有计算值的网格传递给视图时,模型返回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获得一些值,该值显示在总数中。
输入图片描述
首先你需要创建一个模型
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();
并将此模型传递给局部视图