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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC中的Flat和Nested ViewModel类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找关于viewmodel定义的两种不同方法的一些意见

我有一个公司类

  1. public class Company
  2. {
  3. public string Name { get; set; }
  4. public int CountryID { get; set; }
  5. }

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

嵌套viewmodel

  1. public class CompanyCreateEditviewmodel
  2. {
  3. public Company Company { get; set; }
  4. public IEnumerable<Country> Countries{ get; set; }
  5. ....
  6. }

平面视图模型

  1. public class CompanyCreateEditviewmodel
  2. {
  3. public string Name { get; set; }
  4. public int CountryID { get; set; }
  5. public IEnumerable<Country> Countries{ get; set; }
  6. ....
  7. }

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

谢谢

解决方法

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

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

猜你在找的asp.Net相关文章