「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="" />
「name」属性が各フィールドで同じであることが重要です(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="" />
これが少し役立つことを願っています