gpt4 book ai didi

asp.net - MVP 模式 - 被动 View 并通过 IView 公开复杂类型(Asp.Net、Web 表单)

转载 作者:行者123 更新时间:2023-12-02 14:25:54 24 4
gpt4 key购买 nike

我最近切换到采用被动 View 方法的 MVP 模式。当 View 界面仅公开基本的 clr 类型(例如映射到 TextBoxes 的字符串、映射到 DropDownLists 的 IDictionary、映射到某些网格的 IEnumerable、中继器)时,我觉得使用起来非常舒服。

但是,最后一种方法仅在我只关心这些网格中的一列时才有效。如何在 IView 中映射网格的多行内容?目前,我想到了两种解决方案,但都不是很好:

  1. 为网格内容创建 DTO 并在 IView 中公开 IEnumerable, 或
  2. 公开 IEnumerable 或仅公开“网格”,如 IView 中的那样。

第一个解决方案似乎打破了被动 View 规则,同时更接近监督 Controller 模式,而第二个解决方案则完全打破了整个 MVP 模式。你会如何处理这个问题?

谢谢,卢卡斯

最佳答案

MVP 使 Web 表单开发变得更加容易,但在这种情况下除外。但是,如果您使用 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 模式一起使用时,我发现这个小模式非常有用。

关于asp.net - MVP 模式 - 被动 View 并通过 IView 公开复杂类型(Asp.Net、Web 表单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/153222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com