我在List (Of MyObject)
事件中绑定了一个GridView Page_Load
。 MyObject
将子对象作为属性ChildObject
,其中还有一个属性ChildProperty
。
在我的GridView中,我想将其中一个字段绑定到ChildProperty
,但执行以下操作:
<asp:boundfield datafield="ChildObject.ChildProperty" />
导致错误:
System.Web.HttpException:在所选数据源上找不到名为“ChildObject.ChildProperty”的字段或属性。
如何绑定到该属性,或者它不可能?我想我可以在父对象中创建一个ReadOnly属性来读取子属性,但这有点臭。
有什么想法吗?
谢谢!
答案 0 :(得分:5)
您可以使用:
<asp:TemplateField>
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.Property.ChildProperty.GrandChildProperty") %>
</ItemTemplate>
</asp:TemplateField>
答案 1 :(得分:-1)
在ItemTemplate中,我将使用:
<%# (Eval("ChildObject") as objectType).ChildProperty #>