【发布时间】:2011-01-07 10:00:17
【问题描述】:
我正在制作一个 MVC2 应用来管理计费方案。这些计费方案可以是各种类型,例如每天、每周、每月等,所有类型都有其特定的属性。我的班级结构如下所示:
public abstract class BillingScheme { /* basic billing scheme properties */ }
public class BillingSchemeMonthly : BillingScheme
{
public string SpecificMonths;
}
//etc. for other scheme types
我使用计费方案 ID 通过基类检索计费方案,它为我提供了正确类型的对象。
SpecificMonths 属性映射到一个数据库 varchar 字段,该字段包含一个 ; 分隔的月份数字字符串。我想将其拆分为一个数组,以便创建一个复选框列表,并且我最好使用视图模型中的外观属性来执行此操作。我可以直接在视图内完成,但这似乎违反了 MVC 模式。
问题是我只能专门为 BillingSchemeMonthly 创建这个视图模型,并且我不能将 BillingSchemeMonthly 转换为 BillingSchemeMonthlyViewModel。 我宁愿不在视图模型中实现克隆方法,因为整个计费方案非常大,属性的数量可能会增加。
提前感谢您的帮助。
【问题讨论】:
标签: c# asp.net asp.net-mvc-2 polymorphism viewmodel