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:
Penciptaan ViewModel (CashRecipientVM):
Pandangan Separa (_Recipient.cshtml):
Kaedah Penerima() (dalam Pengawal):
Kaedah GET Utama (Buat):
Paparan Utama:
Javascript:
Kemas kini Tindakan POST Borang (Buat):
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!