我有以下复杂模型: 类别 - 有 - >列表中有 - >列表
我正在尝试创建一个创建操作,我可以拉出所有现有类别,并为每个类别列出一个列表,包括子项。例如: -Cat1 - NewItemGroup1 --- NewItem1 --- NewItem2 --- NewItem3 --- NewItem4
-Cat2 - NewItemGroup2 --- NewItem1 --- NewItem2 --- NewItem3 --- NewItem4
我的问题,我可以使用默认的模型绑定器来实现吗?或者我应该使用其他东西?那将增加多少工作:)?
谢谢!
答案 0 :(得分:3)
您可以使用默认的模型绑定器执行复杂的对象和列表,只需索引发布的数据,以便正确识别它。
Phil Haack的文章Model Binding to a List涵盖了你需要做的事情。简而言之,只需使用隐藏字段索引列表字段,如下所示:<input type="hidden" name="products.Index" value="0" />
<input type="text" name="products[0].Name" value="Beer" />
<input type="text" name="products[0].Price" value="7.32" />
指定的products.Index
字段描述了“产品”列表中存在索引“0”。 Name和Price字段是索引0处对象的属性。请注意,索引不必是整数,因此如果您绑定到字典,则可以使用任何内容作为索引值。