检查局部视图中模型属性是否为空值

本文关键字:是否 空值 属性 模型 视图 检查局 | 更新日期: 2023-09-27 18:13:00

我正在开发一个asp.net mvc 3应用程序,我已经制作了几个部分视图,每个视图负责呈现特定的逻辑。在我的一个视图中,我使用可以为null的属性,但我不想把null传递给@Html.DisplayFor(),并写一些更用户友好的东西给用户,让他们知道这些字段没有丢失,他们只是没有任何分配给他们。

所以我试试这个:

<tr>        
            <td>   
                @if (!string.IsNullOrEmpty(Model[0][0].FieldValue))
                {            
                    @Html.DisplayFor(Model => Model[0][0].FieldValue)
                }
            </td>
            <td>
                @Html.DisplayFor(Model => Model[1][0].FieldValue) 
            </td>
        </tr>

我没有else子句,因为编写if语句导致DisplayFor中的Model =>标记为红色和以下消息:

不能在此范围内声明名为'Model'的局部变量因为它会给"模型"一个不同的含义,而"模型"已经是在"父级或当前"作用域中用于表示某物。

基本上我想我明白这个错误意味着什么,但我不知道如何检查null正确在这种情况下

检查局部视图中模型属性是否为空值

错误消息是由Model变量的重新定义引起的。试着

@Html.DisplayFor(x => x[0][0].FieldValue)

你可能会发现这个SO问题对理解"=>"这类东西很有用。