我有一个模型,其中包含2个模型列表。这两个列表都存在相同的问题,因此我将仅解释其中一个(我对每个列表都执行相同的步骤)。
一个列表是给客户的,它由许多字段组成(通过我正在与之交谈的第三方系统上的api提供,它必须是动态的,因为第三方可以通过它发送其他内容)
例如,对于客户,字段为:
title
,firstname
,lastname
,address
,state
,dob
,gender
。
在这些字段上,有许多属性可以帮助显示或不显示它们。就我而言,我们正在使用title
,firstname
,lastname
,dob
,gender
当我提交表单时,title,firstname
和lastname
的值会在模型中正确显示。但是dob
和gender
的值不一样。它们出现在表单集合中,但未映射到函数中模型的列表中。
这里是如何将元素添加到页面的示例
(如果在for循环中遍历它们,请检查是否应在页面上使用它们,如果可以,我会看到它们是什么类型的字段(文本,下拉列表,日期等),然后将其添加到页面中)
@Html.TextBoxFor(x => Model.CustomerFields[i].value, new { @class = "form-control", @placeholder = Model.CustomerFields[i].description, style = (Model.CustomerFields[i].visible ? "" : "display: none;") });
@Html.HiddenFor(x => Model.CustomerFields[i].code)
@Html.HiddenFor(x => Model.CustomerFields[i].description)
@Html.HiddenFor(x => Model.CustomerFields[i].type)
@Html.HiddenFor(x => Model.CustomerFields[i].readOnly)
@Html.HiddenFor(x => Model.CustomerFields[i].visible)
@Html.HiddenFor(x => Model.CustomerFields[i].lookupGroup)
@Html.HiddenFor(x => Model.CustomerFields[i].customGroup)
@Html.HiddenFor(x => Model.CustomerFields[i].sequence)
似乎在中断字段列表的顺序时,它不会传递它们。
我一直在四处搜寻和搜寻,无法找到任何可以解释正在发生的事情的信息。有人有什么想法吗?