我正在使用带有LINQ-to-SQL类的MVC.
因为外键可以为null,我有一个记录具有fk null而其他记录具有值.
现在我在索引视图中显示它.
在索引视图中,我通过编写代码来解析fk
<%= Html.Encode(item.UserModified.UserName) %>
现在我有一个问题,即"未设置对象引用".
这是因为我们在其中一个fk字段中具有空值!
所以我可以在视图中编写代码来检查Associated对象是否指向null或什么都没有?
如有必要,您可以在视图中编写所需的任何代码,这样您就可以:
<%= Html.Encode(item.UserModified.UserName ?? string.Empty) %>
您还可以创建一个HtmlHelper扩展来执行此操作:
public string SafeEncode(this HtmlHelper helper, string valueToEncode) { return helper.Encode(valueToEncode ?? string.Empty); }
然后你可以简单地做:
<%= Html.SafeEncode(item.UserModified.UserName) %>
当然,如果UserModified为null而不是UserName,那么你需要一些不同的逻辑.