Ich habe ein Modell Person (mit u.a. dem Tag der Geburt) und ich möchte eine Liste aller Personen, zusammen mit dem berechneten Alter jeder Person, an die Ansicht
Deshalb:
-
Das Ansichtsmodell
public class vm_PersonList { public Person Person { get; set; } public int age { get; set; } }
-
Die Aktion des Controllers:
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); }
-
Die Aussicht
@model List<programname.Viewmodels.vm_PersonList> @foreach (var p in Model) { <tr> <td> @p.Person.FullName </td> <td> @p.age </td> </tr> }
Die Tabelle Person enthält zum Beispiel 6 Einträge. Bei der Fehlersuche in der Anwendung sehe ich:
Am Ende der Controller-Aktion enthält "list" korrekt die 6 verschiedenen Personeneinträge
In der Ansicht enthält das "Modell" 6 Einträge, aber 6 Mal den letzten "Datenbankeintrag". Hat jemand einen Vorschlag zur Lösung dieses Problems?