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

Mengapa borang MVC saya gagal menyiarkan senarai objek?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-21 14:33:09374semak imbas

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>

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!

Kenyataan:
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