【发布时间】:2012-06-29 16:45:27
【问题描述】:
假设我有一些类似这样的模型对象:
public class FooModel
{
[Required]
public string Name { get; set; }
[StringLength(100)]
public string Description { get; set; }
public bool HasBar { get; set; }
public BarModel Bar { get; set; }
}
public class BarModel
{
[Required]
public string Name { get; set; }
[StringLength(100)]
public string Description { get; set; }
public bool HasWidgets { get; set; }
public IEnumerable<WidgetModel> Widgets { get; set; }
}
public class WidgetModel
{
[Required]
public string Name { get; set; }
[StringLength(100)]
public string Description { get; set; }
public string Type { get; set; }
public bool Active { get; set; }
}
我想为FooModel 构建一个视图,在检查HasBar 输入后,将加载Bar 的部分视图,并完成验证(不显眼)。如果选中了Bar 的HasWidgets,它将加载一个局部视图,其中包含一个用于将WidgetModel 类型的项添加到表单数据的接口。
当点击表单的提交按钮时,我想要一个完整的图表传递给控制器。
我想我可以用编辑器模板做这样的事情,但是我的子对象的命名方式不会被解析为图形的一部分(我希望是因为它们是在事后添加的,而不是意识到它们是更大模型的一部分)。
是否有支持这种事情的机制/模式?我知道这有点递归,但我是否必须重新发明轮子才能正确命名所有内容?
【问题讨论】:
标签: asp.net-mvc-3