在我为我的应用程序构建的新UserViewModel中,我有两个存储属性的选项。
第一个选择是
Public Property user As User ''# Including the entire User object
Public Property custString as String ''# Custom String for View
第二个选项是实际写出所有用户属性
Public Property ID As Integer ''# Declaring each object individually
Public Property UserName As String ''# Here is another object found in User
Public Property RegistrationDate As Date ''# Here is another object found in User
Public Property custStrin As String ''# Custom String for View
有谁能告诉我,更好的方法是什么?为什么?
我目前有第一个选项,但是,与第二个选项相比,我不喜欢它在View中的样子
这看起来不错(IMO)
<%: Model.UserName %>
这看起来不太好(IMO)
<%: Model.User.UserName %>
答案 0 :(得分:1)
我认为无论哪种方式都“更好”,它实际上取决于对象本身。
如果User
对象具有只有get属性,没有公共默认构造函数或复杂状态逻辑,则它可能不是由默认模型绑定直接设置的好选择。通常在这种情况下,您可以“写出”User
属性的某个子集作为ViewModel的相应属性,然后可以处理底层User对象的设置。这种情况并不少见。
但是如果你的User
对象很简单并且可以直接绑定到它,那么将它直接用作模型的一部分肯定会更方便。