- 最近在练习项目中遇到了将控制器中的数据传入到页面上并显示出来 ,就总结了一下自己用到的方法
- 具体如下图 ,将供应商中的付款金额在控制器统计出来并返回到页面中显示出来
- 控制器中的代码如下 ,将表格中的所有数据查询出来后 ,提取其中的付款金额来统计 ,将所有的付款金额进行相加后得到的统计值 ,再保存到session中,保存session后
再到页面中将session拿出来
public ActionResult SupplierPayment(LayuiTablePage layuiTablePage , int SupplierID)
{
List<SupplierPaymentVo> listSupplierPayment = (from tbPurchaseOrder in myModels.PurchaseOrder
join tbSupplier in myModels.Supplier on tbPurchaseOrder.SupplierID equals tbSupplier.SupplierID
join tbWarehouse in myModels.Warehouse on tbPurchaseOrder.WarehouseID equals tbWarehouse.WarehouseID
join tbRM in myModels.RM on tbWarehouse.WarehouseID equals tbRM.WarehouseID
select new SupplierPaymentVo
{
SupplierID = tbSupplier.SupplierID,
SupplierName = tbSupplier.SupplierName,
replenishmentNumber = tbPurchaseOrder.replenishmentNumber,
RMCargoUnitPrice = tbRM.RMCargoUnitPrice,
}).ToList();
//总金额数
int sum = 0;
for (int i = 0; i < listSupplierPayment.Count(); i++)
{
int paymentAmount = Convert.ToInt32(listSupplierPayment[i].RMCargoUnitPrice) * Convert.ToInt32(listSupplierPayment[i].replenishmentNumber);
listSupplierPayment[i].paymentAmount = paymentAmount;
sum = sum + paymentAmount;
}
Session["sum"] = sum;
int totalRow = listSupplierPayment.Count();
List<SupplierPaymentVo> data = listSupplierPayment.Skip(layuiTablePage.GetStartIndex())
.Take(layuiTablePage.limit).ToList();
LayuiTableData<SupplierPaymentVo> layuiTableData =new LayuiTableData<SupplierPaymentVo>
{
data = data,
count = totalRow,
};
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}
- 这是控制器中页面的代码 ,定义一个int型的变量来接收session中保存的统计金额,再通过ViewBag将数据放入到HTML中
public ActionResult SupplierPaymentHTML()
{
int sum = Convert.ToInt32(Session["sum"]);
ViewBag.sum = sum;
return View();
}
- 在页面上将统计数显示出来