MVC3 - 条件视图渲染

时间:2011-03-02 09:53:39

标签: asp.net-mvc-3 rendering conditional

我有一个条件业务逻辑,用于确定模型中的属性是否应显示在视图中。根据最佳实践,哪里可以实施它?

在视图级别实现此逻辑对我来说似乎不对。

由于

2 个答案:

答案 0 :(得分:0)

IMO,它属于模型。我会将该业务逻辑放在模型中的IsRequiredYourProperyName属性中。

答案 1 :(得分:0)

真的?如果您传递布尔值指示是否应将其显示为ViewModel的一部分,我会认为在视图中会很好。视图不应该查询外部资源以查看它是否应该呈现某些UI元素,但如果需要确定要呈现的内容的所有内容都在ViewModel中,那么简单的if {}语句有什么问题?或者,如果条件显示属性很常见,您可以创建一个自定义的DisplayTemplate或EditorTemplate,并在那里实现逻辑。

因此,您的ViewModel应该包含您要发送到视图的所有内容。在你的情况下,听起来它应该包装你的DomainModel和某种字典或KeyValuePair集合细节,如果每个属性应该显示或不作为布尔值。无论如何,这就是我要做的。