Meluluskan Model Keseluruhan melalui FormData dan Menerimanya dalam MVC
Dalam ASP.NET MVC, selalunya diingini untuk lulus model lengkap objek melalui borang kepada pengawal. Walau bagaimanapun, hanya menambahkan model pada FormData akan menyebabkan ia diterima sebagai rentetan dalam pengawal, menjadikannya tidak boleh digunakan.
Penyelesaian:
Untuk lulus model dengan berkesan melalui FormData, pendekatan berikut boleh diguna pakai:
Serialize Model:
Gunakan fungsi FormData jQuery untuk mensiri model. Ini akan menukar model kepada objek FormData, yang boleh termasuk kedua-dua sifat model dan input fail:
var formdata = new FormData($('form').get(0));
Siarkan FormData:
Hantar Objek FormData melalui AJAX POST permintaan:
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
Terima Model dalam Pengawal:
Dalam tindakan pengawal, terima model sebagai parameter jenis yang sesuai:
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
Pilihan: Mengendalikan Tambahan Sifat:
Jika model tidak mengandungi sifat untuk data borang tambahan, anda boleh menambahkannya secara manual:
formdata.append('someProperty', 'SomeValue');
Dengan mengikuti langkah ini, anda boleh lulus dengan berkesan model melalui FormData dan terimanya dalam pengawal MVC anda dalam format yang boleh digunakan.
Atas ialah kandungan terperinci Bagaimana untuk Lulus Model Lengkap melalui FormData kepada Pengawal ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!