我有一个条件业务逻辑,用于确定模型中的属性是否应显示在视图中。根据最佳实践,哪里可以实施它?
在视图级别实现此逻辑对我来说似乎不对。
由于
答案 0 :(得分:0)
IMO,它属于模型。我会将该业务逻辑放在模型中的IsRequiredYourProperyName
属性中。
答案 1 :(得分:0)
真的?如果您传递布尔值指示是否应将其显示为ViewModel的一部分,我会认为在视图中会很好。视图不应该查询外部资源以查看它是否应该呈现某些UI元素,但如果需要确定要呈现的内容的所有内容都在ViewModel中,那么简单的if {}语句有什么问题?或者,如果条件显示属性很常见,您可以创建一个自定义的DisplayTemplate或EditorTemplate,并在那里实现逻辑。
因此,您的ViewModel应该包含您要发送到视图的所有内容。在你的情况下,听起来它应该包装你的DomainModel和某种字典或KeyValuePair集合细节,如果每个属性应该显示或不作为布尔值。无论如何,这就是我要做的。