在视图中显示Sum()的结果

时间:2016-03-24 17:04:10

标签: c# asp.net-mvc entity-framework razor

我有点像ASP.net一样。

我有一个名为Athlete的模型类和AthletesController类。我已经创建了一个分离的类来在名为DAL的文件Operations内部开发一些方法,直到现在一切都运行良好,因为我的方法一直在使用Athlete类对象。

但我使用Entity Framework和linq查询创建了一个新方法,以获得运动员数据库所有年龄总和的结果。我不知道如何在视图中显示此结果,它只是一个int而不是Athlete对象。我正在从Controller类调用我的方法,并从那里为每个方法添加一个视图,但我不知道如何在视图中显示这个结果。

你能告诉我怎么做吗?正如您所见,此方法只返回一个int结果。

public class Operations
{
    AthleteContext db = new AthleteContext();         

    public int SumByAges()
    {
        int sum = db.Athletes.Sum(p => p.Age);
        return sum;
    }

AthletesController:

public class AthletesController : Controller
{
    private Operations ope = new Operations();
    private AthleteContext db = new AthleteContext();
    public ActionResult SumByAges()
    {
        return View(ope.SumByAges());
    }
}

运动员模特课程:

public class Athlete
{
   public int AthleteID { get; set; }
   public string Name { get; set; }
   public string LastName { get; set; }
   public int Age { get; set; }
}

1 个答案:

答案 0 :(得分:0)

我会关注@markpsmith建议并为此视图创建一个ViewModel,但是,根据你在Action方法中的内容,这就是你需要做的事情

在/Views/Athletes/SumByAges.cshtml

中创建一个视图
@model int

<div>
    @Model
</div>