Asp.net mvc 带表对象的MVC c#ViewModel
我有一个这样的视图模型Asp.net mvc 带表对象的MVC c#ViewModel,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-viewmodel,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Viewmodel,我有一个这样的视图模型 public class NoteViewModel { public tblNotes tblnote { get; set; } } 在我的控制器中,我在完成构建后执行以下操作,以便我的控制器了解viewmodel: NoteViewModel viewModel= new NoteViewModel(); viewModel.tblnote.NoteModeID = 1234; // get error
public class NoteViewModel
{
public tblNotes tblnote { get; set; }
}
在我的控制器中,我在完成构建后执行以下操作,以便我的控制器了解viewmodel:
NoteViewModel viewModel= new NoteViewModel();
viewModel.tblnote.NoteModeID = 1234; // get error here
return PartialView(viewModel);
但我得到了以下错误:
{“对象引用未设置为对象的实例。”}
什么是
tblNotes
?如果它是引用类型,则在执行第一行代码后,viewModel.tblNote
为null
。什么类型tblNotes
?(旁注:在C#中,按照惯例,类名应以大写字母开头。)
由于这是一个自定义类型,因此也是一个引用类型,因此其默认值为null
。因此,当您实例化一个新的NoteViewModel
时,除非另有规定,否则它会将其所有成员设置为默认值。由于该值为null
,因此不能在此处使用:
viewModel.tblnote.NoteModeID = 1234;
在不了解更多类型的情况下,简单的答案是在视图模型的构造函数中实例化该成员:
public class NoteViewModel
{
public tblNotes tblnote { get; set; }
public NoteViewModel()
{
tblnote = new tblNotes();
}
}
这样,在创建视图模型时,对象将被实例化,因此您可以使用它