asp.net – MVC的最佳实践..使用接口的ViewModel绑定示例
我是ASP.NET MVC 3.0的新手,并尝试使用MVC ViewModel设计来构建一个应用程序.
我想知道最好的做法是对ViewModels的控制器进行更新,并在下面提供几个问题.这是我迄今为止的理解(可能是错误的).. >我们创建模型. 到目前为止,我已经通过创建一个新类并使用相同的名称从不同的基本模型添加属性来创建了ViewModel.在这一点上,我有以下问题: Q1:每个ViewModel都有自己的控制器,并访问每个基本模型存储库类以获取其值? Q2:在ViewModel中,应该包括您正在使用属性的所有基本模型的ID字段,考虑到您可能需要通过ViewModels控制器将Update Update更新回到Base Models存储库(需要ID值)? Q3:如何使用接口绑定属性,以便使用存储库保存控制器中的模型. 我一直无法找到一个解释一切的教程或资源,一个完整的答案将是以下示例: > 2x简单模型,1x简单视图模型,1x接口用于绑定,1x简单控制器,使用接口类绑定更新,1x存储库,即 //型号1 public class Person { int PersonID {get;set;} string FirstName {get;set;} string LastName {get;set;} DateTime DOB {get;set} } //模型2 public class Place { int PlaceID {get;set;} string Description {get;set;} string AreaType {get;set;} string PostCode {get;set;} } // ViewModel(包含模型中的属性) publc class ViewModel { //Person attributes int PersonID {get;set;} string FirstName {get;set;} string LastName {get;set;} //Place attributes int PlaceID {get;set;} string Description {get;set;} string AreaType {get;set;} //other attributes string someOtherAttributeForDisplay {get;set} } // Model1接口(用于绑定模型) public interface IPerson { string FirstName {get;set;} } // Model2接口(用于绑定模型) public interface IPlace { string Description {get;set;} string AreaType {get;set} } // ViewModelController? { //What goes here? } //库? { //what goes here? } 解决方法
我想你可能会复杂一个非常简单的概念.
首先要做一些一般规则: >不要使用TryUpdateModel.只是不要 您不需要使用接口. 视图模型应该是非常简单的类,只包含您需要的视图信息.如果您的视图与其显示的POST信息不同,则只需为POST创建不同的视图模型. 我们为我们的视图模型使用{Controller} {Action}模型的命名约定.所以对于一个名为“List”的操作,在“Post”控制器上,我们将有一个名为“PostListModel”的模型. 最后,在这里查看我的回应Real example of TryUpdateModel,ASP .NET MVC 3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – UpdateProgress不适用于触发器属性内部的按钮
- asp.net-mvc – App_Web _ * .dll中的System.NullReference
- asp.net-mvc – 如何防止HttpUnauthorizedResult(401)重定向
- 如何在ASP.NET中垂直对齐对象?
- asp.net core EF code first
- Asp.Net MVC动态模型绑定前缀
- asp.net-mvc-3 – 在MVC 3的AuthorizeAttribute中获取模型数
- asp.net-mvc – 存储库模式 – MVC店面
- asp.net-mvc – MVC3如何禁用/启用ActionLink
- asp.net-mvc – 在ajax请求中返回PDF
- asp.net – Ajax Tookit TabPanel Invisible Tag
- 尝试新的开发组合:Asp.NET Core+ABP框架+Identi
- AspNet MVC中各种上下文理解
- Asp.net – 空QueryString参数
- asp.net-mvc – Asp.net MVC真的消除了viewstate
- asp.net-mvc-4 – 使用web.config中的凭据设置配
- asp.net中的复选框列表中的滚动条
- 怎样恢复能在asp.net中使用c#下载文件 – >最好的
- 发布ASP.NET vNext / DNX与CLR类库结合使用
- asp.net – “HttpContext.Current”属性和相关事