加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC中的Flat和Nested ViewModel类

发布时间:2020-12-15 19:06:41 所属栏目:asp.Net 来源:网络整理
导读:我正在寻找关于ViewModel定义的两种不同方法的一些意见 我有一个公司类 public class Company{ public string Name { get; set; } public int CountryID { get; set; }} 对于创建和编辑视图,我需要一个国家列表来填充一个DropDownList为CountryID选择。我可
我正在寻找关于ViewModel定义的两种不同方法的一些意见

我有一个公司类

public class Company
{
    public string Name { get; set; }
    public int CountryID { get; set; }
}

对于创建和编辑视图,我需要一个国家列表来填充一个DropDownList为CountryID选择。我可以看到两个广泛的选择,如何构造ViewModel,下面将详细介绍。

嵌套ViewModel

public class CompanyCreateEditViewModel
{
    public Company Company { get; set; }
    public IEnumerable<Country> Countries{ get; set; }
....
}

平面视图模型

public class CompanyCreateEditViewModel
{
    public string Name { get; set; }
    public int CountryID { get; set; }
    public IEnumerable<Country> Countries{ get; set; }
....
}

目前,我赞成嵌套的方法,因为它使我从定义字段第二次,但我想把它打开更好的方法和评论。

谢谢

解决方法

我个人更喜欢嵌套方法来表示,因为当使用部分视图时,它会导致更逻辑的设计。您可能有一个CompanyPartialView用于所有知道如何呈现公司的应用程序,因此将公司公开为嵌套结构是非常有意义的。

另一方面,平面的ViewModel类是最容易处理数据输入的类。你只有一堆表单字段,所有的映射到单独的属性。所以我的策略通常是将它们压平为数据输入页面并嵌套它们用于演示文稿/报告页面。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读