Dalam projek yang menggunakan pembantu Html.BeginCollectionItem, medan baharu yang dihasilkan oleh JavaScript adalah tidak mengikat model semasa penyerahan borang. Selain itu, pembantu BeginCollectionItem tidak memaparkan teg tersembunyi untuk medan baharu.
1. Cipta Model Paparan:
Tentukan model paparan (cth., CashRecipientVM) untuk mewakili data yang akan diedit, dengan anotasi data yang sesuai.
2. Cipta Paparan Separa:
Buat paparan separa (_Recipient.cshtml) menggunakan pembantu BeginCollectionItem, termasuk label yang diperlukan, kotak teks dan butang padam.
3 . Laksanakan Kaedah untuk Mengembalikan Paparan Separa:
Laksanakan kaedah dalam pengawal untuk mengembalikan pandangan separa (cth., Penerima()).
4. Kemas kini Kaedah GET:
Dalam kaedah GET paparan utama, buat senarai awal model paparan.
5. Kemas kini Paparan Utama:
Dalam paparan utama, gunakan gelung foreach untuk memaparkan objek sedia ada dan tambahkan paparan separa menggunakan bantuan BeginCollectionItem.
6. Laksanakan JavaScript untuk Menambah Item:
Tulis JavaScript untuk menambah HTML bagi model paparan baharu pada borang selepas mengklik butang.
7. Laksanakan JavaScript untuk Memadam Item:
Tulis JavaScript untuk memadam item apabila mengklik butang padam, membuat permintaan AJAX yang sesuai kepada pelayan.
8. Kemas kini Kaedah POST:
Kemas kini borang untuk menyiarkan kembali kepada kaedah yang menerima koleksi model paparan (cth., Cipta(IEnumerable
Tambahan Nota:
Atas ialah kandungan terperinci Bagaimana untuk Mengikat Medan Ditambah Secara Dinamik dengan Betul pada Model Menggunakan Html.BeginCollectionItem?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!