6

したがって、ASP.NET MVC で登録ページを作成しています。(データベースから取得した) いくつかの条件に応じて変化するフィールドのリストがあります。

DBが更新されるたびにコードを変更せずにビューにこれらのフィールドを表示するための最良のアプローチと考えられるものは何ですか。

私が考えている現在のシステムは、「名前、データタイプ」で辞書を作成し、リストを反復処理して、各名前の新しい入力タイプを配置することです (データタイプのスイッチを使用して正しいエディターを取得します)。しかし、それは時代遅れで、.NET MVC システムの利点 (検証、デフォルト値、特定のコンテンツ用にカスタマイズされたエディターなど) を十分に活用していないように思えます。

この問題を処理するために .NET で認識していない可能性のあるアプローチはありますか?

4

1 に答える 1

8

私は非常によく似た問題を抱えていました。投稿はこちらです。

いいえ、ASP.NETMVCにはポリモーフィズムビューはありません。少なくとも、Stack Overflowでさまざまな方法で何トンもの実験を行い、この質問を何度も行うことはできませんでした。

ビューで@model定義されたタイプは、モデルの実際のタイプではなく、ビュー内でそのタイプを定義します(インターフェイス、抽象クラス、または基本クラスの場合、すべての美しい装飾を使用して子クラスを渡すと、タイプはモデルタイプによって定義されるため、機能します)。

申し訳ありませんが、あなたの質問に対する肯定的な答えはありません。結局、たくさんのエディターテンプレートを作成しましたが、それらは内部のモデルタイプによってのみ異なりました。巨大なDRY違反ですが、残念ながら、これがASPMVCの動作方法です。

これが時間を節約するのに役立つことを願っています。

于 2012-08-28T02:03:17.743 に答える