我最近使用被动视图方法切换到 MVP 模式。当视图界面仅公开基本的 clr 类型时,我觉得使用起来非常舒服,例如映射到 TextBoxes 的字符串、映射到 DropDownLists 的 IDictionary、映射到某些网格的 IEnumerable、转发器。
但是,这最后一种方法只有在我只关心一个列的那些网格中才有效。如何在 IView 中映射网格的多行内容?现在,我想到了两个解决方案,都不是很好:
- 为网格的内容创建一个 DTO 并在 IView 中公开 IEnumerable,或者
- 在 IView 中公开 IEnumerable 或仅公开“网格”。
第一个解决方案似乎打破了被动视图规则,同时更接近于监督控制器模式,第二个解决方案完全打破了整个 MVP 模式。你会怎么处理这个?
谢谢, Łukasz