1
我有类Foo
它定义属性Id
。类Bar
继承自Foo
(class Bar : Foo
)。Eval()和基类属性
如果我分配到List<Bar>
然后Repeater.DataSource
在ItemTemplate
使用Eval("Id")
,以下异常被抛出:
数据绑定:“酒吧”不包含名为“ID”的属性。
解决方法? Id
是Bar的有效属性,它只是在Foo上定义的。
我有类Foo
它定义属性Id
。类Bar
继承自Foo
(class Bar : Foo
)。Eval()和基类属性
如果我分配到List<Bar>
然后Repeater.DataSource
在ItemTemplate
使用Eval("Id")
,以下异常被抛出:
数据绑定:“酒吧”不包含名为“ID”的属性。
解决方法? Id
是Bar的有效属性,它只是在Foo上定义的。
它适用于我。也许你有一个可见性问题? Id属性上的访问修饰符是什么?
这里是我的源:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<Bar> bars = new List<Bar>();
bars.Add(new Bar());
bars.Add(new Bar());
bars.Add(new Bar());
Repeater1.DataSource = bars;
Repeater1.DataBind();
}
}
public class Foo
{
public Foo()
{
this.FooProp = "FooPropValue";
}
public string FooProp { get; set; }
}
public class Bar : Foo
{
public Bar()
{
this.BarProp = "BarPropValue!";
}
public string BarProp { get; set; }
}
而在ASPX我有:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate><%# Eval("FooProp")%></ItemTemplate>
</asp:Repeater>
太好了,我觉得自己像个白痴。在我的辩护中,这是本周结束。 :) – 2010-10-25 14:58:50