和我一起滚动并想象以下示例:
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);
}
这应该像这样做得更好
Public ViewResult GiveMeFruit(Person person, IFruit fruit){
person.Fruits.Add(fruit);
ViewData.Person = person;
View(ViewData);
}
我之前尝试过正确的模型绑定,但我无法让它正常工作。所有示例都向您展示了它如何与一种极其简单的类型一起工作,而不是多种复杂类型。modelbinder 如何知道什么字段对应什么类型?如果有一个fruit1和一个fruit2怎么办?活页夹如何知道我的 IFruit 界面使用什么具体类型?此外,我想知道如果我想给我的 Person 一个 IEnumerable 水果,它会如何工作。