在模型之间切换的最佳方式

时间:2014-01-06 08:15:52

标签: asp.net-mvc model-binding

我正在撰写一个简单的页面来创建一个帐户,无论是作为个人还是公司。 两种模型共享大多数属性,例如用户名,地址等,但存在一些差异。

开头的单选按钮列表可供您选择。

这样做的“最佳”方法是什么?

我应该为每个创建一个不同的视图/控制器,还是在选择单选按钮时使用ajax加载部分视图?

1 个答案:

答案 0 :(得分:0)

嗯,实际上没有“最好的方法”,因为模型应该足够简单,而不必封装任何业务逻辑。也就是说,选择最适合您解决方案的方法真的取决于您。

如果要使用相同的视图。我建议您创建一个包含PersonsCompanies之间共享属性的模型,并映射特定于每个业务对象的任何属性。例如,Company是否有CompanyID属性,然后在您的模型中将其映射,或者如果PersontaxFileNumber,那么也会在模型中映射此属性

然后,在同一模型中添加简单的字符串属性,该属性表示与模型关联的业务对象(人员或公司)的类型。您可以使用此属性通过其项目的值选择单选按钮列表。

如果你想使用不同的观点......好吧,我认为它更简单。但是,您可能需要维护更多源代码。