Roll mit mir und stellen Sie sich das folgende Beispiel:Komplexere (reale) Modellbindung?
Public ViewResult GiveMeFruit(int personId, string personName, int personAge, int fruitId){
Person person = PersonService.GetPerson(personId);
person.Name = personName;
person.Age = age;
person.Fruits.Add(FruitService.GetFruit(fruitId));
ViewData.Person = person;
View(ViewData);
}
Dies sollte wie
Public ViewResult GiveMeFruit(Person person, IFruit fruit){
person.Fruits.Add(fruit);
ViewData.Person = person;
View(ViewData);
}
so besser gemacht werden ich die richtige modelbinding früher versucht, aber ich konnte es nicht richtig zu arbeiten. Alle Beispiele zeigen Ihnen, wie es mit einem extrem einfachen Typ funktioniert, niemals mit mehreren, komplexen Typen. Wie würde der Modelbinder wissen, welches Feld für welchen Typ ist? Was ist, wenn es eine Frucht1 und eine Frucht2 gibt? Wie würde der Ordner wissen, welcher konkrete Typ für meine IFruit-Schnittstelle verwendet wird? Darüber hinaus frage ich mich, wie es funktionieren würde, wenn ich meiner Person zahllose Früchte geben möchte.
Lassen Sie sich nicht, es ist ein dummer Ort, um Camelot gehen. Es ist nur ein Modell .. –