私は最近、パッシブ ビュー アプローチで MVP パターンに切り替えました。TextBoxes にマップされた文字列、DropDownLists にマップされた IDictionary、一部のグリッドにマップされた IEnumerable、リピーターなど、ビュー インターフェイスが基本的な clr 型のみを公開する場合、非常に快適に作業できます。
ただし、この最後のアプローチは、それらのグリッドから 1 つの列のみを気にする場合にのみ機能します。グリッドの複数行のコンテンツを IView 内にマップするにはどうすればよいですか? 今のところ、2 つの解決策が頭に浮かびますが、どちらも素晴らしいものではありません。
- グリッドのコンテンツ用の DTO を作成し、IView で IEnumerable を公開するか、または
- IView のように、IEnumerable または単に「グリッド」を公開します。
最初の解決策は、監視コントローラー パターンに近づきながらパッシブ ビューのルールを破っているように見え、2 番目の解決策は MVP パターン全体をまったく破っています。これをどのように処理しますか?
ありがとう、ウカシュ