简单问题(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; }
}
答案 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
}
我希望这会有所帮助。