【发布时间】:2009-04-28 14:06:16
【问题描述】:
跟我一起来想象下面的例子:
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 水果,它会如何工作。
【问题讨论】:
-
我们不要去骆驼,这是一个愚蠢的地方。这只是一个模型..
标签: c# .net asp.net-mvc model-binding