![](/img/trans.png)
[英]How do I get a partial view to display with data from a database, Html.Partial in MVC 5
[英]How do I get HTML form data in Partial View to be serialized when parent view has same model?
我有一个视图,其中包含多个具有不同模型的部分视图,除了一个与父视图具有相同的模型。 原因是,父视图代表一个Risk,部分视图根据Risk 是“Motor”还是“Non-Motor”来加载。 Motor 和 Non-Motor 局部视图都使用在 Risk 父视图中找到的相同模型。
我正在使用 Html.BeginCollectionItem 方法并在提交时序列化表单数据,以尝试在用于父视图模型(风险)的同一类中检索所述数据。 提交设法收集所有数据,除了在 Motor 和 Non-Motor 部分视图中找到的数据。 目标是将 Motor/Non-Motor 局部视图中的数据序列化在与父视图中的 Risk 模型相同的对象中,但是,当我调试接收方法时,局部视图中收集的所有属性要么为空或 0,尽管实际上在表单中输入了值。
如何让风险项目拥有所有数据,而不仅仅是在部分视图之外输入的数据?
如果可以,请提供代码片段(以及有关您希望父视图和部分视图完成什么的附加信息),以便我们更好地了解您面临的问题并提供更准确的答案。
据我所知:
在不了解您为何以这种方式设计应用程序背后的业务背景的情况下,以下是我的建议:
所以我找到了一个有效的解决方案。 原来,当数据被序列化时,Motor 风险的属性在对象的根级别被序列化。 因此,虽然它应该被序列化为 Policy.Policy_Risk.risk_item_no 例如,它只是被序列化为 risk_item_no,这与我在控制器中接收的 Policy 对象冲突。
我通过以@name="Policy_Risk" + unique_id + ".risk_item_no" 的方式向表单中的每个项目添加名称属性来修复它
解决了,感谢您的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.