C# MVC4-如何对foreach列表的结果求和?
我的项目跟踪每个员工的休假时间。我想显示foreach结果上方使用的小时数总和。假期索引将停用所选员工的数据 模式1C# MVC4-如何对foreach列表的结果求和?,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我的项目跟踪每个员工的休假时间。我想显示foreach结果上方使用的小时数总和。假期索引将停用所选员工的数据 模式1 public class Employee { public int EmployeeID { get; set; } public string LastName { get; set; } public string FirstMidName { get; set; } public virtual ICollec
public class Employee
{
public int EmployeeID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public virtual ICollection<Vacation> Vacation { get; set; }
}
型号2的控制器
public class VacationController : Controller
{
private Context db = new Context();
//
// GET: /Vacation/
public ActionResult Index([Bind(Prefix = "id")]int employeeId)
{
var Employee = db.Employee.Find(employeeId);
if (Employee != null)
{
return View(Employee);
}
return HttpNotFound();
}
看法
@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.Employee.LastName)
@DisplayFor(modelItem=>item.EventDate)
@DisplayFor(modelItem=>item.Hours)
@DisplayFor(modelItem=>item.Notes)
}
如果可以在控制器中设置另一个字段,则可以在将列表发送到视图之前对其求和
(使用LINQ扩展)
您可以使用以下表达式计算小时数之和:
var sum = Model.Vacation.Sum(vacation => vacation.Hours);
您可以将其添加到视图的顶部:
Sum of hours: @Model.Vacation.Sum(vacation => vacation.Hours)
使用谢谢!我还是编程新手。
var totalHours = employee.Vacation.Aggregate((acc, val) => acc + val);
var sum = Model.Vacation.Sum(vacation => vacation.Hours);
Sum of hours: @Model.Vacation.Sum(vacation => vacation.Hours)