如何在MVC视图中检查空值?

Vik*_*kas 4 asp.net-mvc

我正在使用带有LINQ-to-SQL类的MVC.

因为外键可以为null,我有一个记录具有fk null而其他记录具有值.

现在我在索引视图中显示它.

在索引视图中,我通过编写代码来解析fk

<%= Html.Encode(item.UserModified.UserName) %>
Run Code Online (Sandbox Code Playgroud)

现在我有一个问题,即"未设置对象引用".

这是因为我们在其中一个fk字段中具有空值!

所以我可以在视图中编写代码来检查Associated对象是否指向null或什么都没有?

Sim*_*ele 5

如有必要,您可以在视图中编写所需的任何代码,这样您就可以:

<%= Html.Encode(item.UserModified.UserName ?? string.Empty) %>
Run Code Online (Sandbox Code Playgroud)

您还可以创建一个HtmlHelper扩展来执行此操作:

public string SafeEncode(this HtmlHelper helper, string valueToEncode)
{
    return helper.Encode(valueToEncode ?? string.Empty);
}
Run Code Online (Sandbox Code Playgroud)

然后你可以简单地做:

<%= Html.SafeEncode(item.UserModified.UserName) %>
Run Code Online (Sandbox Code Playgroud)

当然,如果UserModified为null而不是UserName,那么你需要一些不同的逻辑.