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