【发布时间】:2015-03-04 03:56:44
【问题描述】:
我的 GridView 中有一个对象列表,其中子对象可能为空。我似乎无法获得正确的语法来测试 null 并忽略/打印空字符串。
我看到了 3 个可能的答案:
- 这可以在 aspx 文件中以声明方式轻松完成
- 我必须在后面的代码中这样做
- 不能这样完成,我需要整理一下我的 list 方法并投影一个没有空值的新方法,类似这样。
这是网格视图代码,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
【问题讨论】:
标签: asp.net entity-framework gridview webforms