Artikel ini menyediakan penyelesaian lengkap untuk menyelesaikan masalah biasa yang menghantar model lengkap yang ditetapkan melalui FormData dan menggunakannya sebagai akses model dalam pengawal.
Kaedah tradisional adalah untuk menambah objek model sebagai rentetan kepada formdata, yang akan menyebabkan permintaan.Form ditetapkan dalam pengawal untuk menerima "Objek Objek]". Untuk mengatasi had ini, kaedah yang lebih baik boleh digunakan:
Gunakan Model Serialized FormData ()
Gunakan Ajax untuk melepaskan data
<code class="language-javascript">var formdata = new FormData($('form').get(0));</code>
menerima model dalam pengawal
<code class="language-javascript">$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });</code>
atau, jika model anda tidak termasuk httppostedfilebase, pertimbangkan pengubahsuaian berikut:
<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model) { }</code>
termasuk atribut tambahan
<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { }</code>
Melalui teknologi ini, anda boleh menambah data model dengan lancar ke FormData, supaya ia mudah untuk menghantarnya sebagai jenis model dalam kaedah operasi pengawal.
<code class="language-javascript">formdata.append('someProperty', 'SomeValue');</code>
Atas ialah kandungan terperinci Bagaimana untuk menambahkan model kepada FormData dan menerimanya sebagai model dalam pengawal MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!