我在GridView中有一个对象列表,其中子对象可以为null。我似乎无法获得正确的语法来测试null并忽略/打印空字符串。
我看到3个可能的答案:
这是网格视图代码,GetMyData
是一个只返回IEnumerable<MyClass>
的方法,它来自EntityFramework,我正在使用Include
方法来急切加载Customer对象。
<asp:GridView runat="server"
CssClass="listTable"
ItemType="MyClass"
DataKeyNames="ID"
SelectMethod="GetMyData"
AutoGenerateColumns="false"
AlternatingRowStyle-CssClass="listAlternate">
<Columns>
<asp:DynamicField DataField="ReferenceDate" />
<asp:TemplateField>
<ItemTemplate>
<%# (Item.Customer != null) ? Item.Customer .Name : ""; %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
请注意,我在这个项目中使用实体框架6.1和.Net 4.5
答案 0 :(得分:1)
不要使用;
<asp:TemplateField>
<ItemTemplate>
<%# Eval("Item.Customer") != null ? Eval("Item.Customer.Name) : "" %>
</ItemTemplate>
</asp:TemplateField>