問題:
ASP.NET MVCアプリケーション、HTML入力要素の動的配列を含むフォームは、iEnumerable< batchproductviewmodel>として提出する必要があります。モデルプロパティ。ただし、アクションメソッドは、フォームコレクションをメソッドパラメーターとして使用する場合、フォームからのデータでモデルをバインドできません。アクションメソッドは、正しいモデルタイプのインスタンスであるConnectBatchProductViewModelをパラメーターとして受け入れる必要があります。モデル内のienumerableプロパティにフォームを投稿するフォームを生成するには、次の手順に従います。
ループを使用して、コレクション内の各要素のコントロールを生成します。各コントロールは、モデルに正しくバインドするためにインデクサーに命名する必要があります。ビューからアイテムを削除できるように、動的に追加された各行に非表示の入力要素を追加します。モデルをパラメーターとして受信します。
フォームコード:
アクションメソッド:
@for(int i = 0; i < Model.BatchProducts.Count; i++) { <tr> <td>@Html.TextBoxFor(m => m.BatchProducts[i].Quantity)</td> <td>@Html.TextBoxFor(m => m.BatchProducts[i].BatchName)</td> <td> <input type="hidden" name="BatchProducts.Index" value="@i" /> <a class="deleteRow"></a> </td> </tr> }
public ActionResult Save(ConnectBatchProductViewModel model) { // Model binding will populate the BatchProducts property with data from the form. .... }
新しいバッチプロダクトアイテムを追加するスクリプトは次のとおりです。
以上がASP.NET MVCからIENUMERABLEモデルにフォームアレイを適切に投稿するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。