首頁 > 後端開發 > C++ > 為什麼我的 MVC 表單無法發布物件清單?

為什麼我的 MVC 表單無法發布物件清單?

Mary-Kate Olsen
發布: 2025-01-21 14:33:09
原創
371 人瀏覽過

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

MVC表單:物件清單提交失敗

問題描述

在MVC應用程式中,包含物件清單的表單無法正確將清單提交到控制器。提交表單後,控制器接收到的物件清單為空。

解決方法

問題源自於表單元素中缺少列表項的索引。模型綁定器需要索引來區分清單中的元素。

實作細節

為了解決這個問題,請使用範本而不是局部視圖。

1. 建立編輯器範本

在視圖資料夾下的「EditorTemplates」資料夾中,建立一個名為「PlanCompareViewModel.cshtml」的編輯器模板。將以下程式碼放入模板中:

<code>@model PlanCompareViewModel
<div>
    @Html.HiddenFor(p => p.PlanID)
    @Html.HiddenFor(p => p.CurrentPlan)
    @Html.CheckBoxFor(p => p.ShouldCompare)
</div></code>
登入後複製

2. 修改父視圖

如下更新父視圖:

<code>@model IEnumerable<plancompareviewmodel>
@using (Html.BeginForm("ComparePlans", "Plans", FormMethod.Post, new { id = "compareForm" }))
{
    <div>
        @Html.EditorForModel()
    </div>
}</code>
登入後複製

DisplayTemplates和EditorTemplates會自動為集合處理索引,確保模型綁定器建立正確的物件清單。

以上是為什麼我的 MVC 表單無法發布物件清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板