C# - 通过Repeater控件循环并访问通过DataBinder.Eval()添加的值

Per*_*ddy 4 .net c# loops repeater databinder

我有一个Repeater控件,可以向表中添加行.每个单元格内的数据来自绑定到转发器的数据表.

简化示例:

<asp:Repeater ID="Repeater1" runat="server">
  <ItemTemplate>
   <tr>
     <td>
        <%# DataBinder.Eval(Container.DataItem, "PartNumber")%>
     </td>
     <td>
         <%# DataBinder.Eval(Container.DataItem, "Quantity")%>
     </td>
   </tr>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

在后面的代码中,我希望能够循环遍历每个转发器行并获取该行的Quantity值.

到目前为止我只有:

foreach (RepeaterItem ri in Repeater1.Items)
{

} 
Run Code Online (Sandbox Code Playgroud)

Jam*_*son 11

我会将内容放在标签中,并在后面的代码中访问标签:

<asp:Repeater ID="Repeater1" runat="server"> 
   <ItemTemplate> 
   <tr> 
     <td> 
         <asp:Label ID="lblPartNumber" runat="server" Text='<%#Eval("PartNumber")%>' /> 
     </td> 
     <td> 
         <asp:Label ID="lblQuantity" runat="server" Text='<%#Eval("Quantity")%>' />
     </td> 
   </tr> 
   </ItemTemplate> 
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

并在代码背后:

foreach (RepeaterItem ri in Repeater1.Items)
{
    Label quantityLabel = (Label)ri.FindControl("lblQuantity");
    Label partNumberLabel = (Label)ri.FindControl("lblPartNumber");

    string quantityText = quantityLabel.Text;
    string partNumberText = partNumberLabel.Text;
}
Run Code Online (Sandbox Code Playgroud)