POST 控制器的复杂对象

POST Complex objects to controller

我正在从事一个企业规模的项目,其中有一个自引用 table,称为类别,如下所示。同样在我当前的模型中,我使用以下 table 关联来获取数据。 (使用 EF6)。

我在数据库中有 M-M 映射 table 用于上述 M-M 关系。

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

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

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

我知道我可以使用 Ajax 并使用 Json 来捕获并传输到控制器,但是我需要使用模型视图,我可以使用 partiview 来克服这个问题吗?

请告知可用的选项..

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

您可以使用 Html.NameFor() 作为解决方法来确保命名路径正常工作。集合会使这变得困难。