この記事は、FormDataを介して設定された完全なモデルを送信し、コントローラーのモデルアクセスとして使用する一般的な問題を解決するための完全なソリューションを提供します。
従来の方法は、モデルオブジェクトをformdataに文字列として追加することです。これにより、コントローラーに設定されたリクエストが「[オブジェクトオブジェクト]」を受信します。この制限を克服するために、より良い方法を使用できます:
formdata()シリアル化モデル
を使用しますajaxを使用してデータをリリースします
var formdata = new FormData($('form').get(0));
コントローラー
でモデルを受信します$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
追加の属性を含む
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
フォームのコンテンツ以外の他の情報を含める必要がある場合は、次の文法を使用して属性を効果的に追加できます。
[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { }
以上がFormDataにモデルを追加し、MVCコントローラーのモデルとして受信する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。