HiddenInput(DisplayValue)需要在CREATE视图中为false,但在LIST视图中为true

时间:2012-04-13 17:48:45

标签: c# asp.net-mvc viewmodel

我有一个枚举视图模型属性,我想在CREATE视图中隐藏但在LIST / Index视图中显示。枚举是开放的,失败的,成功的。

  • 对于CREATE View,编辑器/控件不应显示。
  • 对于LIST视图,编辑器/控件应该是可选择的组合框

可以使用HiddenInput属性以某种方式完成吗?

如果无法做到这一点,那么我想至少让它在两个视图中都可见,但是禁用/另一个控件(标签而不是组合框)。

我正在使用asp.net mvc 4.0

1 个答案:

答案 0 :(得分:1)

实际上你应该使用不同的视图模型。请记住:视图模型的第一个单词是 view ,这意味着您可以为每个视图定义一个视图模型。因此,您将使用CreateViewModel Create视图,而不会使用相关的枚举属性,ListViewModel将使用将在Index中使用的枚举属性图。

在进行代码审查时,我看到许多开发人员试图在不同的视图上重复使用相同的模型,并最终得到一些可怕的逻辑,因为这些模型根本不适合这些视图。他们试图隐藏,他们试图写ifs和东西来执行验证,通常最终导致维护噩梦。