Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menambah dan Menerima Model melalui FormData dalam ASP.NET MVC?

Bagaimana untuk Menambah dan Menerima Model melalui FormData dalam ASP.NET MVC?

Susan Sarandon
Susan Sarandonasal
2024-12-22 06:12:10897semak imbas

How to Append and Receive a Model via FormData in ASP.NET MVC?

Menambah dan Menerima Model dalam Formdata

Untuk menghantar objek model sebagai sebahagian daripada objek formdata dan mendapatkannya dalam pengawal, pertimbangkan berikut pendekatan:

JavaScript:

  1. Buat objek FormData:

    var formdata = new FormData($('form').get(0));
  2. Tukar model kepada JSON menggunakan JSON.stringify():

    let model = {
      EventFromDate: fromDate,
      EventToDate: toDate,
      ...
    };
    const modelJson = JSON.stringify(model);
  3. Tambah rentetan JSON pada formdata:

    formdata.append("model", modelJson);

AJAX Panggilan:

$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,
});

Pengawal:

  1. Hiasi tindakan dengan atribut [HttpPost] untuk menunjukkan ia menerima permintaan HTTP POST.
  2. Isytiharkan parameter model yang sesuai type:

    [HttpPost]
    public ActionResult YourActionName(YourModelType model)
    {
      // Your code to process the model here...
    }
  3. ASP.NET MVC akan secara automatik mengikat rentetan model JSON kepada jenis model yang sesuai.

Pendekatan ini membolehkan anda menambahkan keseluruhan model sebagai Data JSON ke formdata dan dapatkannya dalam pengawal sebagai objek model, membolehkan anda bekerja dengan model kompleks dalam tindakan pengawal.

Atas ialah kandungan terperinci Bagaimana untuk Menambah dan Menerima Model melalui FormData dalam ASP.NET 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