Rumah > pembangunan bahagian belakang > C++ > Mengapa borang MVC saya gagal menyiarkan senarai objek?

Mengapa borang MVC saya gagal menyiarkan senarai objek?

Mary-Kate Olsen
Lepaskan: 2025-01-21 14:33:09
asal
370 orang telah melayarinya

Why is my MVC form failing to post a list of objects?

Borang MVC: Penyerahan senarai objek gagal

Penerangan Masalah

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.

Penyelesaian

Masalah berpunca daripada indeks item senarai yang hilang dalam elemen borang. Pengikat model memerlukan indeks untuk membezakan elemen dalam senarai.

Butiran pelaksanaan

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan