POST复杂对象到控制器

时间:2015-03-05 00:38:13

标签: asp.net asp.net-mvc entity-framework-6 asp.net-mvc-5.2

我正在开展一个企业规模项目,我有一个名为categories的自引用表,如下所示。同样在我当前的模型中,我使用以下表关联来获取数据。 (使用EF6)。

enter image description here

我在DB中有M-M映射表,用于上述M-M关系。

在我的控制器中,GET操作结果返回具有Ilist(所有父类别)的模型。然后,当用户选择项目(在视图中)时,我使用Ajax为下一个类别子集检索Ilist(通过Id传递给控制器​​ - 返回Json结果)并在父选择列表旁边动态显示,如下所示。 (我最多有4个子集)

enter image description here

当用户选择类别时,我正在使用Ajax调用来加载相关类别并动态创建选择列表或下拉列表,如下所示:

enter image description here

我的问题是,由于所有这些数据都是通过Ajax加载的,我如何将它们绑定到我的父模型。当用户将from发布到控制器时,如何将用户选择的数据捕获到一个父模型中。

我知道我可以使用Ajax并使用Json捕获&转移到控制器,但我需要使用modelview,我可以使用partiview来克服这个问题吗?

请告知可用选项..

1 个答案:

答案 0 :(得分:1)

关键是确保名称值与post操作接受的对象层次结构相匹配。这肯定是可行的;这很困难,因为有几个AJAX操作构建了UI,但是有一个操作处理它,所以你必须确保数据表达式与被回发的对象匹配。

您可以使用Html.NameFor()作为解决方法,以确保命名路径正常工作。收藏可能会使这很困难。

相关问题