关注 this帖子和它链接到的其他帖子,我已经成功地构建了一个带有可变长度可编辑列表的页面。
现在,我需要做另一个具有类似功能的页面,但更进一步。基本上我需要像我已经做的那样创建一个可变长度的对象列表,但在这种情况下,列表中的每个对象都需要有自己的可变长度可编辑子列表。
我可以毫无问题地构建 View ,但我想我不知道如何在我的 POST Controller 方法中处理这个以保存对象。
我的 Controller 会采用 2 个 IEnumerable 参数吗?
IE。
public ActionResult SaveList(IEnumerable<MainList>, IEnumerable<Sublist>)
{
}
这似乎可行,但我无法将子列表集合中的对象与主列表集合中的适当对象相关联。我错过了什么?
最佳答案
总结我们评论讨论的结果作为答案:
子列表应该是您 MainList
的成员元素。在 View 中,您将有一个嵌套的 foreach 循环来处理 Sublist
元素。在 Controller 中,您只需接受 MainList
作为参数(它应该已经将子列表作为成员)。为了ModelBinder
为了正确选择子列表,输入的名称应首先包含主列表的名称(而不仅仅是子列表项内的属性)。
关于asp.net-mvc - asp.net mvc 3 可变长度可编辑列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5219550/