我有一个人员模型(包含出生日期等字段),我想将每个人的信息列表以及他们的年龄一起传递到视图。
因此,需要执行以下操作:
因此,需要执行以下操作:
The view model
public class vm_PersonList { public Person Person { get; set; } public int age { get; set; } }
The controller action:
public ActionResult PersonList() { ViewBag.Message = "My List"; var list = new List<vm_PersonList>(); var list_p = new vm_PersonList(); foreach (var p in db.Person) { list_p.Person = p; //the age will be calculated based on p.birthDay, not relevant for the //current question list_p.age = 23; list.Add(list_p); } return View(list); }
The view
@model List<programname.Viewmodels.vm_PersonList> @foreach (var p in Model) { <tr> <td> @p.Person.FullName </td> <td> @p.age </td> </tr> }
Person表格包含6个条目。
当调试应用程序时,我看到:
在控制器操作的末尾,“list”正确包含6个不同的Person条目
在视图中,“Model”包含6个条目,但是最后一个“数据库条目”出现了6次。有人有解决此问题的建议吗?