首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当父视图具有相同的模型时,如何获得部分视图中要序列化的HTML表单数据?

当父视图具有相同的模型时,如何获得部分视图中要序列化的HTML表单数据?
EN

Stack Overflow用户
提问于 2020-02-04 02:30:22
回答 2查看 145关注 0票数 0

我有一个视图,它包含几个具有不同模型的局部视图,除了一个与父视图具有相同模型的视图。原因是,父视图代表一个风险,而局部视图是根据风险是“汽车”还是“非汽车”来加载的。

我使用Html.BeginCollectionItem方法并在提交时序列化表单数据,试图在用于父视图的模型(Risk)的同一个类中检索所述数据。提交管理收集除在电动机和非电动机局部视图中找到的数据之外的所有数据。我们的目标是将电机/非电机部分视图中的数据序列化到与父视图中的风险模型相同的对象中,然而,当我调试接收方法时,部分视图中收集的所有属性要么为null,要么为0,尽管实际上是在表单中输入值。

如何让风险项包含所有数据,而不仅仅是在部分视图之外输入的数据?

EN

回答 2

Stack Overflow用户

发布于 2020-02-04 05:43:52

如果可以,请提供代码片段(以及您希望父视图和部分视图完成的其他信息),以便我们更好地了解您面临的问题,并提供更准确的答案。

从我收集到的信息来看:

在不理解你为什么以这种方式设计应用程序背后的业务背景的情况下,这里是我的建议:

  1. 创建一个ViewModel类,该类具有类型为Risk class的属性、类型为Risk的属性(对于马达partialView )和类型为Risk的属性(对于非马达partialView如果您只需要提交特定部分(例如显示在父视图上的一个partialView),则可以将该表单元素包装在另一个表单元素(例如,@Html.BeginForm{}或@Ajax.BeginForm{}),并分别提交。
票数 0
EN

Stack Overflow用户

发布于 2020-02-04 22:42:19

所以我找到了一个可行的解决方案。事实证明,当数据被序列化时,电机风险的属性在对象的根级别上被序列化。例如,虽然它应该被序列化为Policy.Policy_Risk.risk_item_no,但它只被序列化为risk_item_no,这与我在控制器中接收的Policy对象冲突。

我修复了它,为表单中的每一项添加了一个名称属性,其方式为@name="Policy_Risk“+ unique_id + ".risk_item_no”

这一切都解决了,还是要感谢你的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60045106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档