C# 根据收集位置绑定中继器

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

我在中继器中有一个中继器,我试图用会话中的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();
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实现了它,我只想用更多的数据来验证它是否真的做了它应该做的事情