我有一个枚举视图模型属性,我想在CREATE视图中隐藏但在LIST / Index视图中显示。枚举是开放的,失败的,成功的。
可以使用HiddenInput属性以某种方式完成吗?
如果无法做到这一点,那么我想至少让它在两个视图中都可见,但是禁用/另一个控件(标签而不是组合框)。
我正在使用asp.net mvc 4.0
答案 0 :(得分:1)
实际上你应该使用不同的视图模型。请记住:视图模型的第一个单词是 view ,这意味着您可以为每个视图定义一个视图模型。因此,您将使用CreateViewModel
Create
视图,而不会使用相关的枚举属性,ListViewModel
将使用将在Index
中使用的枚举属性图。
在进行代码审查时,我看到许多开发人员试图在不同的视图上重复使用相同的模型,并最终得到一些可怕的逻辑,因为这些模型根本不适合这些视图。他们试图隐藏,他们试图写ifs和东西来执行验证,通常最终导致维护噩梦。