【问题标题】:Bind to a property's property绑定到属性的属性
【发布时间】:2010-11-26 08:12:36
【问题描述】:

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

在我的 GridView 中,我想将其中一个字段绑定到 ChildProperty,但执行以下操作:

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

导致错误:

System.Web.HttpException:在所选数据源上找不到名为“ChildObject.ChildProperty”的字段或属性。

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

有什么想法吗?

谢谢!

【问题讨论】:

标签: asp.net data-binding gridview


【解决方案1】:

你可以使用:

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

【讨论】:

  • 啊,真的。希望有一个更简单的方法,但这绝对有效
【解决方案2】:

在我会使用的 ItemTemplate 中:

<%# (Eval("ChildObject") as objectType).ChildProperty #>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多