我已經開發了一個ViewModel,它具有與Model類相同的信息,但我向ViewModel添加了一個名爲AvgAge(所有人的年齡平均值)的字段,我想要顯示一個表中的視圖與這些領域:名稱,姓氏和所有人的年齡...和表上方我想顯示與所有人的年齡平均值的標籤..我需要聲明內查看ViewModel作爲IEnumerable,所以我可以迭代列表並在桌面上顯示信息..直到這裏一切正常。現在的問題是,當我試圖展示年齡平均的結果時,這只是一個結果。你對我有什麼建議?在視圖中顯示ViewModel的平均值
方法我用,以顯示人在表列表:
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>
也許解決方案應該與公司僅創建一個視圖模型eAverage字段,但我不知道如何在視圖中顯示AgeAverage字段,然後使用其他元素名稱,姓氏和年齡...可以在同一視圖中顯示來自不同ViewModel的字段?