MVC3 - 条件视图呈现
答
真的吗?如果你传递布尔值来指示它是否应该作为ViewModel的一部分显示,我会认为在视图中没问题。该视图不应该查询外部资源以查看是否应呈现某些UI元素,但如果需要确定呈现内容的所有内容在ViewModel中,那么简单的if语句有什么问题?或者,如果一个条件显示属性是常见的,你可以创建一个自定义的DisplayTemplate或EditorTemplate,并为其实现逻辑。
所以你的ViewModel应该包装你想发送到视图的所有东西。在你的情况下,它听起来像它应该包装你的DomainModel和某种类型的字典或KeyValuePair集合,详细说明每个属性是应该显示还是不显示为布尔值。无论如何,这就是我会做的。
问题用“条件视图渲染”定义了答案,意思是条件应该在视图渲染的某个位置。:) –
视图内的逻辑意味着一个复杂的视图,没有测试能力,每个视图必须实现它的重复逻辑。 – Ninjago