C# 根据收集位置绑定中继器
我在中继器中有一个中继器,我试图用会话中的Aka列表绑定子中继器 我的代码隐藏看起来像:C# 根据收集位置绑定中继器,c#,asp.net,C#,Asp.net,我在中继器中有一个中继器,我试图用会话中的Aka列表绑定子中继器 我的代码隐藏看起来像: var results = HttpContext.Current.Session["completeRecord"]; var rep = (Repeater)e.Item.FindControl("rptAkas"); var akaList = new List<string>(); foreach (Entity list in (IEnum
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();
var results=HttpContext.Current.Session[“completeRecord”];
var rep=(中继器)e.Item.FindControl(“rptAkas”);
var akaList=新列表();
foreach(在(IEnumerable)结果中的实体列表)
{
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>
Aka
这将抛出以下消息:
其他信息:数据绑定:“System.String”不包含名为“akaList”的属性。
如何将此列表绑定到中继器
编辑
Container.DataItem处理好了。
Container.DataItem
是中继器迭代的当前项。这不是字符串列表,而是每个字符串各自的列表
以更伪代码的形式思考您正在做什么:
foreach ( var a_single_string in Repeater.DataSource )
{
var some_var = a_single_string.akaList;
}
当您引用Container.DataItem
时,它与上面示例中的寻址a_single_string
相同
从长远来看,这不是实际适用的代码,但我希望它能解释为什么会出现错误。实际上,您要求的是字符串的属性“akaList”,因此出现了错误。您的“实体”是否有一个名为“akaList”的列?我正在基于该实体创建一个新列表,然后需要将该列表绑定到子转发器。您是否尝试将reapeter绑定到(IEnumerable)结果?嗨,Shashank,我使用Container.DataItem实现了它,我只想用更多的数据来验证它是否真的做了它应该做的事情