允许操作和视图和模型中的高度变化

Jer*_*eir 10 architecture asp.net-mvc

我正在设计一个产品管理系统.我想知道在我的应用程序中处理每个Action/View中的大量变化的最佳方法.该应用程序处理20个类别和12个目标市场,每个类别都会影响每个产品需要收集的数据.例如,"QuickAdd"操作接收核心数据,如产品名称和SKU,以及基于产品添加到的类别和目标市场的组合的一些其他关键信息(下面的示例).类别和目标市场不是产品的可配置属性,使用该系统的用户只能在特定组合下工作,例如Toys/USA.提到这一点的原因是我无法将表单设计为具有每个Category/Market组合的属性部分,它需要工作就像表单仅针对该类别/市场 - 用户不了解其他组合.

希望澄清可能情况的一些例子:

如果我要将产品添加到美国目标市场玩具类别中,我需要询问"年龄范围"和"它是否通过了安全检查".

如果我要将产品添加到Toys with Target Market Mexico类别,我只需要询问"年龄范围".

如果我要将产品添加到美国目标市场服装类别,我需要询问"样式"和"材料"

如果我要将产品添加到加拿大目标市场服装类别,我需要询问"样式","材料"和"美国价格"

我们有20个类别和12个目标市场,另外有10种形式需要以这种方式表现,因此理论上有2400种不同的行动/观点/模型

所以问题是,在ASP.NET MVC中,处理显示所有这些动态表单和处理发送到操作的数据变体的最佳方法是什么?

编辑
有关如何确定产品属性的说明:它们基于属于市场中类别的产品的层次结构.例如,它不是我们要求的所有玩具属性和美国属性的添加,它是在美国市场上销售的玩具产品的属性.在美国销售的玩具需要"安全检查"信息,但美国的服装不需要.墨西哥的玩具也不需要"安全检查"信息,因此该属性并非所有Toys或所有美国产品所固有,而是属于类别和市场的组合.

Jer*_*eir 0

最终使用了相当标准的EAV实现