在我意识到我缺少的是有时该属性可以为空但不是空引用错误而不是空引用错误之前,我无法看到您的答案是如何解决问题的,而是出现错误列“Address.City”不存在。除非您在格式属性中检查 null ......我在这里找到了答案
@functions{
public class Employee
{
public string Name { get; set; }
public Address Address { get; set; }
}
public class Address
{
public string City { get; set; }
}
}
@{
var myClasses = new List<Employee>{
new Employee { Name="A" , Address = new Address{ City="AA" }},
new Employee { Name="B" , Address = new Address{ City="BB" }},
new Employee { Name="C" , Address = new Address{ City=null }},
new Employee { Name="D" , Address = null},
};
var grid = new WebGrid(source: myClasses);
}
@grid.GetHtml(
columns: grid.Columns(grid.Column("Address.City",
header: "City",
format: @<text>@if (item.Address != null)
{@item.Address.City}
</text>),
grid.Column("Name")))