Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Lulus Model Lengkap melalui FormData kepada Pengawal ASP.NET MVC?

Bagaimana untuk Lulus Model Lengkap melalui FormData kepada Pengawal ASP.NET MVC?

Susan Sarandon
Susan Sarandonasal
2024-12-19 14:31:10613semak imbas

How to Pass a Complete Model via FormData to an ASP.NET MVC Controller?

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:

  1. 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));
  2. Siarkan FormData:
    Hantar Objek FormData melalui AJAX POST permintaan:

    $.ajax({
      url: '@Url.Action("YourActionName", "YourControllerName")',
      type: 'POST',
      data: formdata,
      processData: false,
      contentType: false,  
    });
  3. Terima Model dalam Pengawal:
    Dalam tindakan pengawal, terima model sebagai parameter jenis yang sesuai:

    [HttpPost]
    public ActionResult YourActionName(YourModelType model)
    {
    }
  4. 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!

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