将“model.PrimaryContacts”更改为字符串列表List<string>
并渲染:
<input type="text" id="PrimaryContacts[0]" name="PrimaryContacts[0]" value="" />
<input type="text" id="PrimaryContacts[1]" name="PrimaryContacts[1]" value="" />
<input type="text" id="PrimaryContacts[2]" name="PrimaryContacts[2]" value="" />
<input type="text" id="PrimaryContacts[3]" name="PrimaryContacts[3]" value="" />
重要的是每个字段的“名称”属性相同(id 无关紧要),它们会自动绑定到数组或集合中。
更新:
如果我们假设 PrimaryContact 是具有 FirstName、LastName 和 PhoneNumber 属性的对象,那么我们需要在页面上呈现以下标记:
<!-- 1st person -->
<input type="text" id="[0].FirstName" name="[0].FirstName" value="" />
<input type="text" id="[0].LastName" name="[0].LastName" value="" />
<input type="text" id="[0].PhoneNumber" name="[0].PhoneNumber" value="" />
<!-- 2nd person -->
<input type="text" id="[1].FirstName" name="[1].FirstName" value="" />
<input type="text" id="[1].LastName" name="[1].LastName" value="" />
<input type="text" id="[1].PhoneNumber" name="[1].PhoneNumber" value="" />
以上将绑定到List<PrimaryContact>
对象。
更新 2:
最后但并非最不重要的一点是,要绑定到Dictionary<string, PrimaryContact>
你这样做:
<!-- 1st person -->
<input type="hidden" id="[0].Key" name="[0].Key" value="1stPersonKey" />
<input type="text" id="[0].FirstName" name="[0].Value.FirstName" value="" />
<input type="text" id="[0].LastName" name="[0].Value.LastName" value="" />
<input type="text" id="[0].PhoneNumber" name="[0].Value.PhoneNumber" value="" />
<!-- 2nd person -->
<input type="hidden" id="[1].Key" name="[1].Key" value="2ndPersonKey" />
<input type="text" id="[1].FirstName" name="[1].Value.FirstName" value="" />
<input type="text" id="[1].LastName" name="[1].Value.LastName" value="" />
<input type="text" id="[1].PhoneNumber" name="[1].Value.PhoneNumber" value="" />
希望这个对你有帮助