Rumah >pembangunan bahagian belakang >C++ >Mengapa borang MVC saya gagal menyiarkan senarai objek?
Dalam aplikasi MVC, borang yang mengandungi senarai objek tidak menyerahkan senarai kepada pengawal dengan betul. Selepas menyerahkan borang, senarai objek yang diterima oleh pengawal kosong.
Masalah berpunca daripada indeks item senarai yang hilang dalam elemen borang. Pengikat model memerlukan indeks untuk membezakan elemen dalam senarai.
Untuk menyelesaikan masalah ini, gunakan templat dan bukannya paparan separa.
1. Cipta templat editor
Dalam folder "EditorTemplates" di bawah folder paparan, buat templat editor bernama "PlanCompareViewModel.cshtml". Letakkan kod berikut ke dalam templat anda:
<code>@model PlanCompareViewModel <div> @Html.HiddenFor(p => p.PlanID) @Html.HiddenFor(p => p.CurrentPlan) @Html.CheckBoxFor(p => p.ShouldCompare) </div></code>
2. Ubah suai pandangan induk
Kemas kini paparan induk seperti berikut:
<code>@model IEnumerable<plancompareviewmodel> @using (Html.BeginForm("ComparePlans", "Plans", FormMethod.Post, new { id = "compareForm" })) { <div> @Html.EditorForModel() </div> }</code>
DisplayTemplates dan EditorTemplates secara automatik mengendalikan pengindeksan untuk koleksi, memastikan pengikat model mencipta senarai objek yang betul.
Atas ialah kandungan terperinci Mengapa borang MVC saya gagal menyiarkan senarai objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!