为什么我不能检查View中的ViewModel属性是否== null?

时间:2013-07-25 09:15:21

标签: c# asp.net-mvc html5 asp.net-mvc-4

简单问题(Ihope),我想使用View中的if语句检查我的ViewModel中的属性是否为null

@if(Model.AdminPractice.TimeNotes == null)

这个原因是错误的,

  

未将对象引用设置为对象的实例。

但是如果我不调用属性本身而只调用类,则if语句有效。

@if(Model.AdminPractice == null)

这是因为Viewmodel是类的组合而不是属性,或者我应该在控制器中处理这个如果是这样的话?感谢

查看模型......

public class AdminPracticeViewModel
{
    public Practice Practice { get; set; }

    public AdminPractice AdminPractice { get; set; }
}

2 个答案:

答案 0 :(得分:5)

不,这是因为Model.AdminPractice null。你需要做的是:

@if(Model.AdminPractice == null || Model.AdminPractice.TimeNotes == null)

答案 1 :(得分:0)

您收到object reference not set to an instance of an object错误,因为您正在尝试访问null对象的属性值。在这种情况下,AdminPractice为null,并且尝试访问其任何属性将为您提供此错误。

在将控制权发送到视图之前,您需要在控制器中预测AdminPractice。

因此,通过将if语句更改为下面的语句,您的代码将起作用:

@if(Model.AdminPractice == null || Model.AdminPractice.TimeNotes == null)
{
    // Do whatever you need to do here
}

我希望这会有所帮助。