c# - 在 View 中显示来自 ViewModel 的平均值

标签 c# html linq razor mvvm

我已经开发了一个具有与模型类相同信息的 ViewModel,但是我在 ViewModel 中添加了一个名为 AvgAge(所有人的平均年龄)的字段,我想在 View 中显示一个包含这些字段的表格:名称, 所有人的姓氏和年龄...在表格上方我想显示一个带有所有人平均年龄的标签.. 我需要在 View 中声明 ViewModel 为 IEnumerable 以便我可以遍历列表和在 table 上显示信息.. 直到这里一切正常。现在的问题是当我试图显示年龄平均值的结果时,它只是一个结果..你有什么建议?

我用来显示表格中人员列表的方法:

  public List<PersonAgeAvg> AvgAge()
        {
            var list = db.People.Select(x => new PersonAgeAvg
            {
                Name = x.Name,
                LastName = x.LastName,
                Age = x.Age               
            }).ToList();
            return list;
        }   

我知道我可以通过这样的查询获得平均年龄,但是我应该在哪里使用这个查询呢??:
 AvgAge = db.People.Select(p => p.Age).Average()

看法:
@model IEnumerable<AlexMusicStore.ViewModel.PersonAgeAvg>
@{
    ViewBag.Title = "GetPersonAgeAvg";
}

<h2>GetPersonAgeAvg</h2>
<p>
 @Html.ActionLink("Create new", "Create")    
</p>
<label>Average Age: </label> 
<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.LastName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Age)
        </th>
    </tr>
@foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.LastName)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Age)
            </td>
        </tr>
    }
</table>

也许一个解决方案应该是只使用 AgeAverage 字段创建一个 ViewModel 但我不知道如何在 View 中显示 AgeAverage 字段以及其他元素 Name、Lastname 和 Age ... 可以显示来自不同的字段ViewModels 在同一个 View 中???

最佳答案

在你看来,你可以做这样的事情

@ var avAge=Model.People.Select(p => p.Age).Average();

关于c# - 在 View 中显示来自 ViewModel 的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36957039/

相关文章:

c# - 如何使用工厂模式实现每个请求/线程的数据上下文

html - 如何在没有正文重叠的情况下在每个页面上打印 HTML 页脚?

html - JQM,CSS : How to change disabled fields css?

c# - 对数据表的 LINQ 查询返回不正确的结果

c# - 可以从立即窗口调用扩展方法吗

C#。 OpenTK 与 OpenGL 的代码相同吗?

c# - 无法使用从 ajax 调用返回的列表

javascript - 如何使用vue js在前端显示错误信息?

c# - 用另一个更新数据表

远程计算机中的 C# 任务计划程序