0

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

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

这个原因是一个错误,

你调用的对象是空的。

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

@if(Model.AdminPractice == null)

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

查看模型...

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

    public AdminPractice AdminPractice { get; set; }
}
4

2 回答 2

5

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

@if(Model.AdminPractice == null || Model.AdminPractice.TimeNotes == null)
于 2013-07-25T09:16:30.913 回答
0

您收到object reference not set to an instance of an object错误是因为您试图访问空对象的属性值。在这种情况下AdminPractice为 null,并且尝试访问其任何属性都会出现此错误。

在将其发送到视图之前,您需要在控制器中传播 AdminPractice。

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

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

我希望这有帮助。

于 2013-07-25T10:35:32.983 回答