Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Berjaya Menghantar Koleksi ke Pandangan Separa dan Mengendalikan Penyerahan Data dalam ASP.NET MVC?

Bagaimana untuk Berjaya Menghantar Koleksi ke Pandangan Separa dan Mengendalikan Penyerahan Data dalam ASP.NET MVC?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-20 00:39:16946semak imbas

How to Successfully Pass a Collection to a Partial View and Handle Data Submission in ASP.NET MVC?

Pandangan Separa yang menghantar koleksi menggunakan pembantu Html.BeginCollectionItem

Soalan ini meneroka isu menghantar koleksi objek kepada Separa Lihat dan berjaya menyerahkan data kembali kepada pengawal. Walaupun pelaksanaan yang kelihatan betul, kaedah AddRecord() gagal dan pembantu BeginCollectionItem tidak menghasilkan teg tersembunyi yang diperlukan untuk medan yang baru ditambah.

Analisis Isu

Punca masalah terletak pada ketidakpadanan antara jenis objek yang dijangkakan oleh pengawal dan data yang dihantar. Dalam kod yang disediakan, model paparan telah ditukar kepada CashRecipientVM, tetapi tindakan pengawal masih menjangkakan model jenis CashRecipient.

Penyelesaian

Untuk menyelesaikan isu ini, langkah berikut telah diambil:

  1. Penciptaan ViewModel (CashRecipientVM):

    • Kelas CashRecipientVM telah dicipta untuk mewakili data yang akan diedit dan menyertakan atribut pengesahan.
  2. Pandangan Separa (_Recipient.cshtml):

    • Paparan Separa "_Recipient.cshtml" telah dicipta untuk menghasilkan satu contoh CashRecipientVM.
    • Pembantu BeginCollectionItem telah digunakan untuk mengikat sifat dan benarkan untuk menambah berbilang penerima.
  3. Kaedah Penerima() (dalam Pengawal):

    • Kaedah Penerima() telah ditambahkan pada pengawal untuk mengembalikan Partial ViewResult untuk yang baharu CashRecipientVM.
  4. Kaedah GET Utama (Buat):

    • Kaedah Create() GET telah dikemas kini untuk mengembalikan senarai kosong CashRecipientVM kejadian.
  5. Paparan Utama:

    • Paparan utama telah dikemas kini untuk menggunakan Paparan Separa "_Recipient.cshtml" untuk memaparkan penerima sedia ada dan membenarkan penambahan baharu satu.
  6. Javascript:

    • Fungsi Javascript telah ditambahkan untuk mengendalikan penambahan penerima baharu dan memadam yang sedia ada.
    • jQuery dan pengesahan pihak klien yang tidak mengganggu telah digunakan untuk meningkatkan pengguna pengalaman.
  7. Kemas kini Tindakan POST Borang (Buat):

    • Tindakan POST borang telah dikemas kini untuk menyasarkan Tindakan Create(), yang kini menjangkakan koleksi CashRecipientVM objek.

Dengan melaksanakan perubahan ini, aplikasi kini berjaya mengikat data CashRecipientVM, membolehkan penambahan dinamik dan pengalihan keluar penerima dan menyerahkan data dengan betul kepada pengawal.

Atas ialah kandungan terperinci Bagaimana untuk Berjaya Menghantar Koleksi ke Pandangan Separa dan Mengendalikan Penyerahan Data 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