0

列挙ビュー モデル プロパティを CREATE ビューでは非表示にしたいが、リスト/インデックス ビューでは表示したい。列挙型は Open、Failed、Succeeded です。

  • CREATE ビューの場合、エディター/コントロールは表示されません。
  • リストビューの場合、エディター/コントロールは選択可能なコンボボックスである必要があります

これは、HiddenInput 属性を使用して何らかの方法で行うことができますか?

これができない場合は、少なくとも両方のビューで表示できるようにしたいが、無効/別のコントロール (コンボボックスの代わりにラベル) を表示したい。

私はasp.net mvc 4.0を使用しています

4

1 に答える 1

1

実際には、異なるビュー モデルを使用する必要があります。覚えておいてください:ビュー モデルの最初の単語はビューあり、ビューごとにビュー モデルを定義することを意味します。したがって、問題の列挙型プロパティなしでビューCreateViewModelに使用される と、ビューで使用される列挙型プロパティを持つ があります。CreateListViewModelIndex

コード レビューを行っているとき、多くの開発者が異なるビューで同じモデルを再利用しようとして、それらのモデルが単にそれらのビューに適合していないため、恐ろしいロジックに終わっているのを目にします。彼らは隠そうとし、検証を実行するために if などを書き込もうとしますが、通常はメンテナンスの悪夢に終わります。

于 2012-04-13T17:57:20.197 に答える