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类是最容易处理数据输入的类。你只有一堆表单字段,所有的映射到单独的属性。所以我的策略通常是将它们压平为数据输入页面并嵌套它们用于演示文稿/报告页面。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – 使用FileStreamResult,MemoryStream是如何关闭的?
- asp.net-core – 哪些版本的Windows Server与.NET Core Run
- asp.net-mvc – MVC3 TextBoxFor与EditorFor – 每个问题
- 使用ashx / axd处理程序和使用我在ASP.NET中编写的东西之间
- asp.net-core – 如何在Asp.net Core中使用soap web服务?
- asp.net – AppFabric Cache连接类型和协议
- asp.net-mvc – Ninject绑定可以基于URL /路由值吗?
- ASP.NET MVC 3:我可以将C#Razor Views与F#控制器结合使用吗
- asp.net-mvc – 如何在MVC3中创建一个隐藏字段?
- .net – 增加超时时间
推荐文章
站长推荐
- asp.net-web-api – 与web api和web api 2之间的
- asp.net-mvc – 如何将模型加载到_Layout.cshtml
- asp.net – LINQ to SQL Web应用程序最佳实践
- 是否可以使Page.IsPostBack独立于ASP.net而变为真
- 关于Type Initializer和 BeforeFieldInit的问题,
- asp.net-mvc-3 – 使用存储过程(MSSQL)时Dapper的
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- asp.net-mvc-2 – 将复杂对象从View传递给Contro
- asp.net-mvc – MVC 3 tempdata容器的缺点
- 如何在ASP.NET中阻止IP地址或IP类
热点阅读