FormData を介してモデル全体を渡し、MVC で受け取る
ASP.NET MVC では、完全なモデルを渡すことが望ましいことがよくあります。オブジェクトをフォーム経由でコントローラーに送信します。ただし、単純にモデルを FormData に追加すると、それがコントローラーで文字列として受信されるため、使用できなくなります。
解決策:
モデルを効果的に渡すにはFormData を使用すると、次のアプローチが可能になります。採用:
モデルのシリアル化:
jQuery の FormData 関数を利用してモデルをシリアル化します。これにより、モデルが FormData オブジェクトに変換され、モデルのプロパティとファイル入力の両方を含めることができます:
var formdata = new FormData($('form').get(0));
FormData を投稿します:
AJAX POST 経由の FormData オブジェクトrequest:
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
コントローラーでモデルを受信します:
コントローラーのアクションで、モデルを適切なタイプのパラメーターとして受け入れます:
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
オプション: 追加の処理プロパティ:
モデルに追加のフォーム データのプロパティが含まれていない場合は、それらを手動で追加できます:
formdata.append('someProperty', 'SomeValue');
次の手順に従うことで、効果的にデータを渡すことができます。 FormData を通じてモデルを取得し、それを使用可能な形式で MVC コントローラーで受け取ります。
以上がFormData 経由で完全なモデルを ASP.NET MVC コントローラーに渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。