ASP.NET MVCテーブル配列を送信する問題を解決します ASP.NET MVCでは、オブジェクト配列を含むフォームを提出すると問題が発生する可能性があります。たとえば、 フォームには複数の行が含まれており、各行は配列内の1つのプロジェクトを表します。 jQueryを使用して、行を動的に追加および削除します。ただし、フォームを送信した後、モデルの配列属性は空です。
解決策:
この問題を解決するには、forループ内の配列の制御を手動で生成する必要があります。これにより、コントロールのコントロールの正しい名前が保証されます。
修正コード: ビューの
:コントローラーの
:その他の注意事項:
ビュー内のアイテムを追加して削除する場合は、
<code class="language-csharp">@using (Html.BeginForm("Save", "ConnectBatchProduct", FormMethod.Post)) { .... <table> .... @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> <!-- 包含隐藏输入以跟踪项目索引 --> <a></code>
その後、JavaScriptを使用して、新しいプロジェクトをフォームに動的に追加できます。
<code class="language-csharp">public ActionResult Save(ConnectBatchProductViewModel model) { .... }</code>
以上が提出後、なぜ私のASP.NET MVCフォームアレイプロパティはヌルですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。