Mendapatkan Keseluruhan Objek Model daripada Data Borang dalam MVC
Apabila menghantar keseluruhan objek model melalui data borang, adalah penting untuk memastikan penukarannya yang betul kembali kepada jenis model dalam pengawal. Begini cara untuk mencapainya:
Pelaksanaan JavaScript:
Gunakan FormData untuk mensiri keseluruhan model daripada menambahkan sifat individu secara manual:
var formdata = new FormData($('form').get(0));
Ini juga akan merangkumi sebarang input fail yang terdapat dalam borang.
Ajax Permintaan:
Siarkan data borang menggunakan Ajax, melumpuhkan pemprosesan automatik dan tetapan jenis kandungan:
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
Tindakan Pengawal:
Dalam pengawal, tentukan tindakan yang menerima model sebagai a parameter:
[HttpPost] public ActionResult YourActionName(YourModelType model) { // Perform operations on the model... }
Sebagai alternatif, jika model mengandungi input fail, parameter kedua hendaklah HttpPostedFileBase untuk sifat fail:
[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { // Handle file and perform operations on the model... }
Lampiran Data Tambahan:
Jika perlu, sifat tambahan boleh dilampirkan pada data borang menggunakan:
formdata.append('someProperty', 'SomeValue');
Atas ialah kandungan terperinci Bagaimana untuk Lulus Keseluruhan Objek Model melalui Data Borang dalam MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!