MVP模式-通过IView(Asp.Net、Web表单)被动查看和公开复杂类型
我最近使用被动视图方法切换到MVP模式。当视图界面只公开基本的clr类型时,我感到非常舒服,例如映射到文本框的字符串、映射到DropDownList的IDictionary、映射到某些网格的IEnumerable、中继器 然而,最后一种方法只有在从这些网格中我只关心一个节点时才有效。如何在IView中映射网格的多行内容?目前,我想到了两种解决方案,但都不太妙:MVP模式-通过IView(Asp.Net、Web表单)被动查看和公开复杂类型,asp.net,mvp,Asp.net,Mvp,我最近使用被动视图方法切换到MVP模式。当视图界面只公开基本的clr类型时,我感到非常舒服,例如映射到文本框的字符串、映射到DropDownList的IDictionary、映射到某些网格的IEnumerable、中继器 然而,最后一种方法只有在从这些网格中我只关心一个节点时才有效。如何在IView中映射网格的多行内容?目前,我想到了两种解决方案,但都不太妙: 为网格内容创建DTO,并在IView中公开IEnumerable, 或 公开IEnumerable或只是IView中的“网格” 第一种解
谢谢,ŁukaszMVP使webforms开发变得更加容易,除了这种情况。但是,如果您使用TDD来验证IView是否真的需要该数据网格,那么我不知道问题出在哪里 我想你是想做这样的事情:
public interface IView
{
DataTable DataSource {get; set;}
}
public class View : IView {
private GridView _datasource;
public DataSource
{
get { return _datasource; }
set
{
_datasource = value;
_datasource.DataBind();
}
}
当与MVP模式一起使用时,我发现这个小模式非常有用