我的应用程序中有一个标签,点击该标签后,用户的详细信息会在可编辑的文本框中显示(使用占位符HTML属性)。用户可以简单地查看它们,也可以编辑他想要的任何细节。
现在我的问题是:我应该为这个场景创建一个View Model类,还是应该使用实际的Account模型类?我想我将不得不创建一个View Model类,因为我只需要来自Account模型类的'some'属性,但是如果我这样做,我将如何使它'可编辑'并随后映射已编辑的属性(如果有的话) )到实际的帐户模型类?
另外,如果我需要创建一个View Model,请告诉我在哪里可以存储View Model。
答案 0 :(得分:0)
我应该为这个场景创建一个View Model类,还是应该使用它 实际的帐户模型类?
是的,最好创建一个代表您需要的操作的模型,并且这样做是为了防止不足和过度发布。因此,您需要处理您希望用户工作的属性。例如,如果您的AccountModel
具有大量属性,并且您只需要在add
操作上处理其中的10个,并在edit
操作中处理其中的5个属性,然后你创建两个ViewModel:
// your model or entity
public class AccountModel {
// the list of properties goes here
}
// your view models
public class CreateAccountModel {
public string Username {get;set;}
public string Password {get;set;}
public string Phone {get;set;}
}
// this model is for the scenario
// where you want users to edit their basic info
// but not the password (e.g. you have a separate
// functionality for changing the password)
public class EditAccountModel {
public string Username {get;set;}
public string Phone {get;set;}
}
现在要将您的视图模型映射到您的实际模型或实体,您可以使用映射工具或自己完成(疲劳但小模型的选项)。以下是步骤:
我究竟需要存储View Model类
您可以在创建的Models
文件夹下的MVC项目中获取它。这更像是一种偏好,并且没有标准的方法 - 特别是如果你开始分层你的应用程序。把它放在更有意义的地方。