Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menambahkan model kepada FormData dan menerimanya sebagai model dalam pengawal MVC?

Bagaimana untuk menambahkan model kepada FormData dan menerimanya sebagai model dalam pengawal MVC?

Patricia Arquette
Patricia Arquetteasal
2025-02-02 21:56:10998semak imbas

How to Append a Model to FormData and Receive it as a Model in an MVC Controller?

Tambahkan model ke FormData dalam MVC dan terima sebagai model

Artikel ini menyediakan penyelesaian lengkap untuk menyelesaikan masalah biasa yang menghantar model lengkap yang ditetapkan melalui FormData dan menggunakannya sebagai akses model dalam pengawal.

Kaedah tradisional adalah untuk menambah objek model sebagai rentetan kepada formdata, yang akan menyebabkan permintaan.Form ditetapkan dalam pengawal untuk menerima "Objek Objek]". Untuk mengatasi had ini, kaedah yang lebih baik boleh digunakan:

Gunakan Model Serialized FormData ()

Menggunakan fungsi FormData (), model boleh disiarkan secara berkesan ke dalam FormData. Ini secara automatik termasuk fail yang dimuat naik dimuat naik melalui borang HTML.

Gunakan Ajax untuk melepaskan data
<code class="language-javascript">var formdata = new FormData($('form').get(0));</code>

Untuk menerbitkan data model bersiri kepada pengawal, sila gunakan permintaan Ajax berikut:

menerima model dalam pengawal
<code class="language-javascript">$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});</code>

Dalam pengawal, anda boleh menerima data model bersiri melalui parameter model jenis yang kuat:

atau, jika model anda tidak termasuk httppostedfilebase, pertimbangkan pengubahsuaian berikut:
<code class="language-csharp">[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
}</code>

termasuk atribut tambahan
<code class="language-csharp">[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
}</code>

Jika anda perlu memasukkan maklumat lain selain kandungan borang, anda boleh menggunakan tatabahasa berikut untuk menambah atribut dengan berkesan:

Melalui teknologi ini, anda boleh menambah data model dengan lancar ke FormData, supaya ia mudah untuk menghantarnya sebagai jenis model dalam kaedah operasi pengawal.
<code class="language-javascript">formdata.append('someProperty', 'SomeValue');</code>

Atas ialah kandungan terperinci Bagaimana untuk menambahkan model kepada FormData dan menerimanya sebagai model dalam pengawal 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