C# 项目正在中继器中循环所有项目';s items数据绑定事件

C# 项目正在中继器中循环所有项目';s items数据绑定事件,c#,asp.net,repeater,C#,Asp.net,Repeater,我的aspx页面中有一个正常的中继器控件 <asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound"> <ItemTemplate> <asp:CheckBox ID="chks" runat="server" /> <asp:TextBox ID="txtName" runat="server" CssClass="form-control" Text='&l

我的aspx页面中有一个正常的
中继器
控件

 <asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound">
<ItemTemplate>
<asp:CheckBox ID="chks" runat="server" />
<asp:TextBox ID="txtName" runat="server" CssClass="form-control" Text='<%# DataBinder.Eval(Container,"DataItem.Name").ToString()%>'></asp:TextBox><asp:Label ID="lblValue" runat="server" Visible="false" Text='<%# DataBinder.Eval(Container,"DataItem.Id").ToString() %>'></asp:Label>
</ItemTemplate>
</asp:Repeater>
绑定后,调用
ItemDataBound
事件。在这里,我循环通过中继器项目进行一些操作

protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{

    foreach (RepeaterItem item in rpt1.Items)
    {
        if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
        {
             string val = ((Label)item.FindControl("lblValue")).Text;
            // Some Stuff
        }
    }
}
问题是每次循环都是从第一个开始的

例如,如果我的数据为1、2、3等

这是一本书

1
1 2
1 2 3
我怎样才能使它成为

1
2
3
“我做错了什么”

已经为中继器中的每个项目调用了,因此您不需要在那里进行循环

protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
         string val = ((Label)e.Item.FindControl("lblValue")).Text;
        // Some Stuff
    }
}
旁注:这适用于所有项目。

已经为中继器中的每个项目调用,因此您不需要在那里进行循环

protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
         string val = ((Label)e.Item.FindControl("lblValue")).Text;
        // Some Stuff
    }
}

旁注:这适用于所有人。

@TimSchmelter是正确的,您不需要在
中继器ItemDataBound
内循环,因为它会自动迭代n个项目。@TimSchmelter是正确的,您不需要在
中继器ItemDataBound
内循环,因为它会自动迭代n个项目。