c# - 将项目添加到嵌套列表中的嵌套列表的 View

标签 c# javascript asp.net-mvc

我有一个相当简单的示例模型,其中包含一个列表,其中也包含一个列表。

// Main object ... 1
public class TestModel
{
    public int Id { get; set; }

    public string Name { get; set; }

    // 0..*
    public IList<Item> Items { get; set;}

}

public class Item 
{
    public int Id { get; set; }

    public string Name { get; set; }

    // 0..*
    public IList<SubItem> SubItems {get;set;}
}

public class SubItem
{
    public int Id { get; set; }

    public string Name { get; set; }
}

通过这些模型类,我想创建一个允许动态添加项目和子项目的 View 。

示例:

example

我已经阅读了很多相关内容,但似乎没有一个通用的方法来执行我想做的事情。有很多关于对象中的列表的示例,但没有关于对象中的列表中的列表的示例。

有办法做我想做的事吗?或者我绝对需要分开我的观点吗?

我尝试过的:

  • EditorTemplate(它适用于我的项目列表,但我无法将项目添加到我的子项目列表中)
  • EditorFor(模型 => model.SubItems)
  • 使用 jQuery 添加项目,但我认为这不是正确的方法。

谢谢

S.H

最佳答案

这是可能的,但棘手的部分是让嵌套 View 控件的 id 与 MVC 模型绑定(bind)器很好地配合。

我过去已经通过使用此处详细说明的说明来实现此功能 --> http://mleeb.wordpress.com/2013/11/23/editing-nested-lists-in-asp-mvc-4/

关于c# - 将项目添加到嵌套列表中的嵌套列表的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22826251/

相关文章:

c# - 为什么 C# 不提供用于传递属性作为引用的内部帮助程序?

c# - 如何将自定义功能区导入 Excel

javascript - angular.equals() 是否用作 Angular 表达式?

javascript - 将自动生成的 html 转换为字符串

c# - 无法转换类型为 '<>f__AnonymousType5` 6 的对象

c# - 报表查看器未加载,显示空白区域 - 正在运行本地 RDLC 文件

c# - 无法在 Docker for Windows : "System cannot find the file specified" 中运行容器

javascript - 始终只显示最近 10 条服务器发送的事件消息

javascript - Discord 随机图像机器人垃圾邮件

asp.net-mvc - 防止加载局部 View