0

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

  • 对于 CREATE 视图,编辑器/控件不应该是可见的。
  • 对于列表视图,编辑器/控件应该是一个可选择的组合框

这可以通过 HiddenInput 属性以某种方式完成吗?

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

我正在使用 asp.net mvc 4.0

4

1 回答 1

1

实际上你应该使用不同的视图模型。请记住:视图模型的第一个词是视图,意思是您为每个视图定义一个视图模型。因此,您将拥有一个CreateViewModel将用于Create没有相关 enum 属性的视图和一个ListViewModel具有将在视图中使用的 enum 属性的Index视图。

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

于 2012-04-13T17:57:20.197 回答