Asp.net mvc 3 绑定到嵌套对象列表
由于我不确定绑定到嵌套对象是如何工作的,让我解释一下我的困境: 这是我的班级:Asp.net mvc 3 绑定到嵌套对象列表,asp.net-mvc-3,razor,model-binding,Asp.net Mvc 3,Razor,Model Binding,由于我不确定绑定到嵌套对象是如何工作的,让我解释一下我的困境: 这是我的班级: public class DeliveryContactViewModel { public List<DeliveryContact> Contacts; public string Name { get; set; } } public class DeliveryContact { p
public class DeliveryContactViewModel
{
public List<DeliveryContact> Contacts;
public string Name { get; set; }
}
public class DeliveryContact
{
public string ContactType { get; set; }
public string ContactAddress { get; set; }
public List<bool> Reasons { get; set; }
}
干杯,
T.正如merekel所建议的,诀窍是向html元素名称添加索引: 例如:
<select name="Contacts[1].ContactType">
<option value="someValue1">someValue1</option>
<option value="someValue2">someValue2</option>
</select>
一些价值1
一些价值2
或者像这样进行另一层次的嵌套
<input type="checkbox" value="true" name="Contacts[1].Reasons[2]"/>
当然,索引是动态的
我从Scott Hanselman那里得到了基本的想法
干杯,
T.我认为您必须自己生成输入名称值。类似于
model.Contacts[0]。ContactType
和model.Contacts[0]。原因[0]
。这意味着你还必须引入某种索引。是的,昨晚晚些时候我已经弄明白了。事实上就是这样,向html元素名称添加索引。
<select name="Contacts[1].ContactType">
<option value="someValue1">someValue1</option>
<option value="someValue2">someValue2</option>
</select>
<input type="checkbox" value="true" name="Contacts[1].Reasons[2]"/>