-1

假设我的演示者从我的存储库中获取了我的 Person 类的列表,并且我想将该列表中的信息绑定到被动视图中的 ListBox 或 DataGridView。

由于视图不应该知道模型,我假设我需要将该列表转换为我的演示者中的 List< 字符串 > 并将其传递给视图以绑定到 ListBox 是否正确?

如果我想填充 DataGridView,可能是 List<List< string >>,我应该将什么传递给视图?

是否可以接受专门为视图绑定的模型,演示者将模型从存储库转换为视图的不同模型?

示例人物模型:

public class PersonModel
{
    public int PersonId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string MiddleInitial { get; set; }
}
4

1 回答 1

1

如果您使用真正的 MVP,您将在 Presenter 中获取您的 DataModel 列表并将它们映射到 ViewModel 列表,以便您的数据和视图层之间仍然存在关注点分离。因此,只需在客户端的 Models 文件夹中创建一个 ViewPerson.cs 类,复制与数据模型相同的属性,然后使用 AutoMapper 或自定义映射方法来映射每个属性。

于 2021-06-24T16:54:10.880 回答