检查局部视图中模型属性是否为空值
本文关键字:是否 空值 属性 模型 视图 检查局 | 更新日期: 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问题对理解"=>"这类东西很有用。