私はこのモデルを持っています
public class ItemClassification
{
public int ItemID {get; set;}
public string ItemName {get; set;}
}
そして私はこのフォームを持っています
<form method="POST" action="/Home/UpdateItemClassifications">
<table>
<tr>
<th>Item ID</th>
<th>Item Name</th>
</tr>
<tr>
<td>
<input name="ItemClassification[0].ItemID" value="1"/>
</td>
<td>
<input name="ItemClassification[0].ItemName" value="Item One"/>
</td>
</tr>
<tr>
<td>
<input name="ItemClassification[1].ItemID" value="2"/>
</td>
<td>
<input name="ItemClassification[1].ItemName" value="Item Two"/>
</td>
</tr>
<tr>
<td>
<input name="ItemClassification[2].ItemID" value="3"/>
</td>
<td>
<input name="ItemClassification[2].ItemName" value="Item Three"/>
</td>
</tr>
</table>
</form>
そして、これらの値をこのコントローラーアクションにバインドして、それらをループし、データベースで更新しようとしています。
[HttpPost]
public ActionResult UpdateItemClassifications(List<ItemClassification> UpdatedClassifications)
{
//save logic here..
}
何らかの理由で、投稿されたフォームの値がItemClassificationモデルにバインドされていません。任意の助けや指示をいただければ幸いです。このフォームを1セットの値のみで投稿してみましたが、コントローラーから「List <>」を削除すると、値が正しくマッピングされました。