2011-12-16 72 views
0

可以说,在我的mvc应用程序中,我有一个有许多不同类型的模型。有一个数据库表,但有一堆表示稍微变化的行为的子类。MVC:使用视图,常量或模型属性?

在页面上,有时候我想显示所有这些模型类型的列表,有时(当一个当前活动时)显示那个模型的细节。所显示的细节相当小,最多只有几个字,所以我无法决定将它们放在哪里。

选项1(旧的预重构方式):在具有每个细节字段属性的数组中。好处是我可以迭代所有可能的类型。有了类,就没有什么可以迭代的了。我宁愿摆脱这个数组。

选项2:在模型中作为属性。视图将根据当前活动的类型访问这些属性,但我仍然没有任何内容可以遍历并显示所有类型。我可能必须明确地向他们展示(其中只有9个,并不可怕)。

选项3:在单独的视图中,字面写入。我会有9个不同的意见,但这可以让他们略有不同。每种类型的布局可能会有所不同。

对于一些细节,这是一个游戏,模型是你的角色可以做的一堆行动。他们的行为相似,但以不同的方式影响不同的统计数据。

回答

0

为什么不用这样的东西?

public interface ICharacter { 
IEnumerable<ICharacterAction> Actions {get;set;} 
} 

public interface ICharacterAction { 
string Description {get;set;} 
} 
+0

因为这个问题被标记为“PHP”,而不是“C#” – DarkDevine 2011-12-16 13:41:51