跟我滚动,想象下面的例子:
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);
}
我之前尝试过正确的模型绑定,但我无法正常工作。所有示例都向您展示了它如何使用一个非常简单的类型,从不使用多个复杂类型。模型绑定器如何知道哪种类型的字段是什么?如果有水果1和水果2怎么办?活页夹如何知道我的IFruit界面使用的具体类型? 此外,我想知道如果我想给我的人提供一个IEnumerable水果,它会如何起作用。
答案 0 :(得分:3)
我认为它应该是这样的:
<input type="text" name="person.Name" value="" />
<input type="text" name="person.Age" value="" />
<input type="text" name="fruit.Property1" value="" />
<input type="text" name="fruit.Property2" value="" />
对于收藏品:
<input type="text" name="fruit[0].Property1" value="" />
<input type="text" name="fruit[0].Property2" value="" />
<input type="text" name="fruit[1].Property1" value="" />
<input type="text" name="fruit[1].Property2" value="" />