我有一个视图,它包含几个具有不同模型的局部视图,除了一个与父视图具有相同模型的视图。原因是,父视图代表一个风险,而局部视图是根据风险是“汽车”还是“非汽车”来加载的。
我使用Html.BeginCollectionItem方法并在提交时序列化表单数据,试图在用于父视图的模型(Risk)的同一个类中检索所述数据。提交管理收集除在电动机和非电动机局部视图中找到的数据之外的所有数据。我们的目标是将电机/非电机部分视图中的数据序列化到与父视图中的风险模型相同的对象中,然而,当我调试接收方法时,部分视图中收集的所有属性要么为null,要么为0,尽管实际上是在表单中输入值。
如何让风险项包含所有数据,而不仅仅是在部分视图之外输入的数据?
发布于 2020-02-04 05:43:52
如果可以,请提供代码片段(以及您希望父视图和部分视图完成的其他信息),以便我们更好地了解您面临的问题,并提供更准确的答案。
从我收集到的信息来看:
在不理解你为什么以这种方式设计应用程序背后的业务背景的情况下,这里是我的建议:
发布于 2020-02-04 22:42:19
所以我找到了一个可行的解决方案。事实证明,当数据被序列化时,电机风险的属性在对象的根级别上被序列化。例如,虽然它应该被序列化为Policy.Policy_Risk.risk_item_no,但它只被序列化为risk_item_no,这与我在控制器中接收的Policy对象冲突。
我修复了它,为表单中的每一项添加了一个名称属性,其方式为@name="Policy_Risk“+ unique_id + ".risk_item_no”
这一切都解决了,还是要感谢你的帮助。
https://stackoverflow.com/questions/60045106
复制相似问题