Asp.net mvc 检查razor视图-索引中的对象参数是否为Null?
在索引视图中,我想检查对象的参数是否为null。 我已经按照下面的代码完成了Asp.net mvc 检查razor视图-索引中的对象参数是否为Null?,asp.net-mvc,razor,Asp.net Mvc,Razor,在索引视图中,我想检查对象的参数是否为null。 我已经按照下面的代码完成了 <td> @if (String.IsNullOrEmpty(item.Account.Name) == false) { @Html.ActionLink(item.Account.Name, "../Accounts/Details", new { id = item.Account.AccountID })
<td>
@if (String.IsNullOrEmpty(item.Account.Name) == false)
{
@Html.ActionLink(item.Account.Name, "../Accounts/Details", new { id = item.Account.AccountID })
}
else
{
@Html.DisplayFor(modelItem => item.Account.Name)
}
</td>
@if(String.IsNullOrEmpty(item.Account.Name)==false)
{
@ActionLink(item.Account.Name,“../Accounts/Details”,新的{id=item.Account.AccountID})
}
其他的
{
@DisplayFor(modelItem=>item.Account.Name)
}
我得到了这个错误:
{“对象引用未设置为对象的实例。”}
那么我应该如何检查参数是否为null
1-ActionLink在对象为空但DisplayFor不为空时生成错误
2-这在索引视图中的foreach循环中。首先需要检查item.Account,因为在某些情况下它为空:
@if (item.Account != null)
{
if (!String.IsNullOrEmpty(item.Account.Name))
{
@Html.ActionLink(item.Account.Name, "../Accounts/Details", new { id = item.Account.AccountID })
}
else
{
@Html.DisplayFor(modelItem => item.Account.Name)
}
}
多亏了@StephenMuecke,问题才得以解决。下面是代码的变化:
@if (item.Account != null && String.IsNullOrEmpty(item.Account.Name) == false)
应该先检查
帐户
。因为帐户
为空
(您需要先检查)@StephenMuecke非常感谢。开始检查item是否为null,然后检查item.Account访问item.Account.Name您正在if条件下使用item.Account.Name,但您的item.Account可能为null。。。在这种情况下,它将抛出空引用异常。我是指我在帖子中给出的答案@但是请注意,如果同时检查这两个,并且account为null,那么它将到达else语句。这里再次提到帐户。