ホームページ >ウェブフロントエンド >jsチュートリアル >FormData 経由で完全なモデルを ASP.NET MVC コントローラーに渡す方法は?

FormData 経由で完全なモデルを ASP.NET MVC コントローラーに渡す方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-19 14:31:10615ブラウズ

How to Pass a Complete Model via FormData to an ASP.NET MVC Controller?

FormData を介してモデル全体を渡し、MVC で受け取る

ASP.NET MVC では、完全なモデルを渡すことが望ましいことがよくあります。オブジェクトをフォーム経由でコントローラーに送信します。ただし、単純にモデルを FormData に追加すると、それがコントローラーで文字列として受信されるため、使用できなくなります。

解決策:

モデルを効果的に渡すにはFormData を使用すると、次のアプローチが可能になります。採用:

  1. モデルのシリアル化:
    jQuery の FormData 関数を利用してモデルをシリアル化します。これにより、モデルが FormData オブジェクトに変換され、モデルのプロパティとファイル入力の両方を含めることができます:

    var formdata = new FormData($('form').get(0));
  2. FormData を投稿します:
    AJAX POST 経由の FormData オブジェクトrequest:

    $.ajax({
      url: '@Url.Action("YourActionName", "YourControllerName")',
      type: 'POST',
      data: formdata,
      processData: false,
      contentType: false,  
    });
  3. コントローラーでモデルを受信します:
    コントローラーのアクションで、モデルを適切なタイプのパラメーターとして受け入れます:

    [HttpPost]
    public ActionResult YourActionName(YourModelType model)
    {
    }
  4. オプション: 追加の処理プロパティ:
    モデルに追加のフォーム データのプロパティが含まれていない場合は、それらを手動で追加できます:

    formdata.append('someProperty', 'SomeValue');

次の手順に従うことで、効果的にデータを渡すことができます。 FormData を通じてモデルを取得し、それを使用可能な形式で MVC コントローラーで受け取ります。

以上がFormData 経由で完全なモデルを ASP.NET MVC コントローラーに渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。