ASP.NET MVCのFormDataを介して完全なモデルを送信します
ASP.NET MVCのformDataを使用して完全なモデルオブジェクトを送信し、その後コントローラー内でそれを脱上化することは複雑になる可能性があります。 このガイドは、簡単なソリューションを提供します
クライアントサイド(javascript)
モデルをformdataに変換するには、を使用します
<code class="language-javascript">const formData = new FormData(document.querySelector('form'));</code>このメソッドは、
要素を介してアップロードされたファイルを効率的に処理します。
<input type="file">
ajax:
を使用してformdataを送信します
<code class="language-javascript">$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formData, processData: false, contentType: false, success: function(response) { // Handle successful response }, error: function(xhr, status, error) { // Handle errors } });</code>サーバーサイド(コントローラー)
コントローラー内で、データを受信するアクションを定義します。
ファイルを個別に処理する(モデルに
プロパティがない場合):<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model) { // Process the model return View(); // Or any other appropriate return }</code>
モデルがHttpPostedFileBase
のプロパティが含まれていない場合は、ファイルのアップロードを個別に処理します。
追加のプロパティの追加:HttpPostedFileBase
<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase uploadedFile) { // Process the model and uploadedFile return View(); }</code>フォームに存在しないプロパティを含めるには、formdataにそれらを追加します:
この包括的なアプローチは、ASP.NET MVCのFormDataを使用して完全なモデルを提出および処理するプロセスを簡素化します。 ajaxコールバック内で潜在的なエラーを適切に処理することを忘れないでください。
以上がMVCのFormDataを介してモデル全体を渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。