我有一个viewmodel
public class NoteViewModel
{
public tblNotes tblnote { get; set; }
}
在我的控制器中,我在完成构建后执行以下操作,以便我的控制器知道viewmodel:
NoteViewModel viewModel= new NoteViewModel();
viewModel.tblnote.NoteModeID = 1234; // get error here
return PartialView(viewModel);
我收到以下错误:
{“对象引用未设置为对象的实例。”}
答案 0 :(得分:0)
究竟是什么tblNotes
?如果它是引用类型,则在执行第一行代码后viewModel.tblNote
为null
。
答案 1 :(得分:0)
tblNotes
是什么类型的? (附注:在C#类名称中应以大写字母开头作为惯例。)
由于这是自定义类型,因此是引用类型,因此其默认值为null
。因此,当您实例化一个新的NoteViewModel
时,它会将其所有成员设置为默认值,除非另有说明。由于该值为null
,因此您无法在此处使用它:
viewModel.tblnote.NoteModeID = 1234;
在不了解您的类型的情况下,简单的答案是在视图模型的构造函数中实例化该成员:
public class NoteViewModel
{
public tblNotes tblnote { get; set; }
public NoteViewModel()
{
tblnote = new tblNotes();
}
}
这样,只要创建视图模型,对象就会被实例化,因此您可以使用它。