【发布时间】:2014-03-26 04:13:52
【问题描述】:
我在中继器中有一个中继器,我试图将子中继器与会话中的 Aka 列表绑定。
我的代码隐藏看起来像:
var results = HttpContext.Current.Session["completeRecord"];
var rep = (Repeater)e.Item.FindControl("rptAkas");
var akaList = new List<string>();
foreach (Entity list in (IEnumerable<Entity>) results)
{
akaList.AddRange(list.Aka);
}
rep.DataSource = akaList;
rep.DataBind();
在我的孩子中继器中,我有以下内容:
<asp:Repeater runat="server" ID="rptAkas" OnItemDataBound="repeater_OnItemDataBound">
<ItemTemplate>
<p><strong>Aka</strong><asp:Literal runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "akaList") %>'></asp:Literal></p>
</ItemTemplate>
</asp:Repeater>
这会引发以下消息:
附加信息:DataBinding:“System.String”不包含名为“akaList”的属性。
如何将此列表绑定到中继器?
编辑
Container.DataItem 负责处理。
【问题讨论】:
-
您的“实体”是否有一个名为“akaList”的列?
-
我正在基于实体创建一个新列表,然后需要将该列表绑定到子中继器。
-
您是否尝试将您的中继器绑定到 (IEnumerable
) 结果? -
嗨,Shashank,我使用 Container.DataItem 让它工作,我只是想用更多数据尝试它,以确认它确实做了它应该做的事情