我的'UserViewModel'中有一个ICollection:
public ICollection<userpractice> userpractices { get; set; }
在我的控制器中,我试图在viewmodel中为此集合添加一个userpractice:
user user = db.users.Find(id);
UserViewModel uservm = new UserViewModel();
foreach (var up in user.userpractices)
{
uservm.userpractices.Add(up);
}
我收到错误消息“对象引用未设置为对象的实例”。我不知道为什么,因为up肯定是正确分配给填充的用户实践。
如果有帮助,uservm.userpractices为null。但我认为一开始应该为null,因为viewmodel在集合中没有任何用户实践!
答案 0 :(得分:4)
是的,uservm.userpractices
一开始是null
是完全正常的。这就是为什么在向其添加项目之前需要创建集合的新实例的原因。例如:
List<string> items;
items.Add("test"); //Object reference exception
首先这样做:
items = new List<string>();
items.Add("test"); //works