Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Lulus Keseluruhan Objek Model melalui Data Borang dalam MVC?

Bagaimana untuk Lulus Keseluruhan Objek Model melalui Data Borang dalam MVC?

Barbara Streisand
Barbara Streisandasal
2024-12-20 03:54:10735semak imbas

How to Pass Entire Model Objects via Form Data in MVC?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn