2009-09-07 107 views
2

我有一个List (Of MyObject)绑定到Page_Load事件中的GridView。 MyObject有一个子对象作为一个属性,ChildObject它也有一个属性本身,ChildProperty绑定到属性的属性

在我的GridView,我想结合的领域之一ChildProperty,但这样做是这样的:

<asp:boundfield datafield="ChildObject.ChildProperty" /> 

导致错误:

System.Web.HttpException: A field or property with the name 'ChildObject.ChildProperty' was not found on the selected data source.

如何绑定到财产,还是不可能?我想我可以在我的父对象中创建一个ReadOnly属性来读取子属性,但这有点臭。

任何想法?

谢谢!

+0

重复:你怎么一个gridview列绑定到一个子类值? - http://stackoverflow.com/questions/627996/how-do-you-bind-a-gridview-column-to-a-subclass-value – 2009-09-07 22:28:59

回答

4

您可以使用:

<asp:TemplateField> 
    <ItemTemplate> 
    <%# DataBinder.Eval(Container, "DataItem.Property.ChildProperty.GrandChildProperty") %> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

啊,真的。希望有一个更简单的方法,但这绝对有效 – Jason 2009-09-07 22:16:59