2012-07-23 58 views
0

我有一个视图模型本身与表对象MVC C#视图模型

public class NoteViewModel 
    { 
     public tblNotes tblnote { get; set; } 
    } 

在我的控制,我做的做了构建后下一所以我控制器知道该视图模型:

NoteViewModel viewModel= new NoteViewModel(); 

    viewModel.tblnote.NoteModeID = 1234; // get error here 

    return PartialView(viewModel); 

但我收到以下错误:

{“对象引用未设置为对象的实例。”}

回答

0

什么是类型tblNotes? (注意:在C#中,类名应该以大写字母开头,作为约定。)

由于这是自定义类型,因此是引用类型,因此其默认值为null。所以当你实例化一个新的NoteViewModel时,除非另有说明,否则它会将其所有成员设置为默认值。由于该值是null,你不能在这里使用它:

viewModel.tblnote.NoteModeID = 1234; 

不知道更多关于你的类型,答案很简单,只是实例化视图模型的构造函数成员:

public class NoteViewModel 
{ 
    public tblNotes tblnote { get; set; } 

    public NoteViewModel() 
    { 
     tblnote = new tblNotes(); 
    } 
} 

这样,每当创建视图模型时,对象都将被实例化,因此您可以使用它。

0

究竟是什么tblNotes?如果它是参考类型,则在第一行代码执行后,viewModel.tblNotenull