Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 检查razor视图-索引中的对象参数是否为Null?_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net mvc 检查razor视图-索引中的对象参数是否为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 })

在索引视图中,我想检查对象的参数是否为null。 我已经按照下面的代码完成了

<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语句。这里再次提到帐户。