Menggunakan Html.BeginCollectionItem untuk Lulus Koleksi ke Paparan Separa
Apabila membuat borang yang membenarkan pengguna menambah berbilang kejadian model , selalunya perlu untuk memberikan pandangan separa untuk setiap kejadian. ASP.NET MVC menyediakan pembantu Html.BeginCollectionItem untuk memudahkan proses ini.
Pembantu BeginCollectionItem mencipta baris jadual yang mengandungi medan borang untuk contoh semasa model. Apabila borang diserahkan, data yang dimasukkan ke dalam medan ini akan terikat pada sifat sepadan objek model.
Untuk menggunakan BeginCollectionItem, anda mesti membuat paparan separa yang mewakili medan borang untuk satu contoh dahulu. daripada model tersebut. Sebagai contoh, pertimbangkan paparan separa berikut bernama _Recipient.cshtml:
@model CashRecipientVM <div>
Paparan separa ini mentakrifkan borang dengan dua kotak teks (untuk Penerima dan Jumlah) dan butang padam. Pembantu BeginCollectionItem memastikan bahawa setiap contoh model akan mempunyai set medan borang sendiri.
Dalam paparan utama, anda boleh menggunakan pembantu BeginCollectionItem untuk menambah koleksi pandangan separa ini pada borang. Contohnya:
@model IEnumerable<CashRecipientVM> @using (Html.BeginForm()) { <div>
Kod ini mencipta borang dengan senarai objek CashRecipientVM. Pembantu BeginCollectionItem digunakan untuk memberikan paparan separa bagi setiap objek dalam senarai.
Borang ini termasuk butang "Tambah" yang membolehkan pengguna menambah contoh tambahan model. Apabila butang "Tambah" diklik, permintaan AJAX dibuat kepada pengawal untuk mendapatkan paparan separa yang lain. Paparan separa yang diambil kemudian ditambahkan pada borang.
Apabila borang diserahkan, data yang dimasukkan ke dalam medan borang akan terikat pada sifat yang sepadan bagi objek CashRecipientVM. Pengawal kemudiannya boleh memproses objek ini dan menyimpannya ke pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Html.BeginCollectionItem untuk Menguruskan Berbilang Contoh Model dalam Paparan Separa ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!