因为我不确定绑定到嵌套对象的工作原理,所以让我解释一下我的困境:
这是我的课:
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; }
}
好的,所以这里没有什么特别的......
现在让我们处理 View 部分:
我的想法是制作一个表格(伪代码如下)
<form action="/path/to/action" id="frm-contact" method="post">
<input id="someID" name="Name" type="text" />
<fieldset>
<select name="i'm_not_sure_what_to_put_here">
<option value="someValue1">someValue1</option>
<option value="someValue2">someValue2</option>
</select>
<input id="someID" name="ContactAddress_but_i_want_it_in_the_First_DeliveryContact" type="text" />
<input type="checkbox" value="Reason1" name="again_not_sure"/>
<input type="checkbox" value="Reason2" name="again_not_sure"/>
<input type="checkbox" value="Reason3" name="again_not_sure"/>
</fieldset>
</form>
//并且想法是制作尽可能多的这些字段集,因为我需要“联系人”(进入“DeliveryContact”列表
正如您从伪代码中看到的那样,我不确定如何命名我的 HTML 元素才能成功地将其绑定到模型。
最后是控制器部分,我该如何签署它。这够了吗?View 中的命名约定是否足以将所有内容匹配到我的控制器中,看起来像这样。
public ActionResult DeliveryContact(DeliveryContactViewModel model)
{
foreach(var item in model.Contacts)
{
//something
}
}
干杯,T。