ホームページ > バックエンド開発 > C++ > ASP.NET MVCからIENUMERABLEモデルにフォームアレイを適切に投稿するにはどうすればよいですか?

ASP.NET MVCからIENUMERABLEモデルにフォームアレイを適切に投稿するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-02-02 04:01:09
オリジナル
342 人が閲覧しました

How to Properly POST Form Arrays from ASP.NET MVC to an IEnumerable Model?

ASP.NET MVCからのフォームアレイの投稿

問題:

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート