首页 > 后端开发 > C++ > 为什么我的 MVC 表单无法发布对象列表?

为什么我的 MVC 表单无法发布对象列表?

Mary-Kate Olsen
发布: 2025-01-21 14:33:09
原创
327 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板