Label1.Text += ((DataBoundLiteralControl)item.Controls[1]).Text +
                              " <br>"; 
这个地方应该是
  Label1.Text += ((DataBoundLiteralControl)item.Controls[0]).Text +
                              " <br>"; 

解决方案 »

  1.   

    谢谢!我遇到了一个问题,楼上可以帮忙解答一下吗
    Repeater的数据源已经定义好了,在 <ItemTemplate>中我绑定了数据表products的三个字段,布局的表格也是自定义的,我想实现一个效果就是单击每一行的按钮的时候,能够将这一行产品的“productid”,赋值给label1,求大家帮忙,小弟在此感谢! <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"> 
    <HeaderTemplate> 
    <table> 
    <ItemTemplate> 
    <tr> 
    <td> 
    <asp:Button ID="Button1" runat="server" Text="选购此商品" CommandName="select" /> </td> 
    <td> 
    <%# Eval("productid") %> 
    </td> 
    <td> 
    <%# Eval("productname") %> 
    </td> 
    <td> 
    <%# Eval("unitprice") %> 
    </td> 
    </tr> </ItemTemplate> 
    <FooterTemplate> 
    </table> 
    </FooterTemplate> 
    </asp:Repeater> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 我是这样写的,写了一半就不会了
    if (e.CommandName == "select") 

    RepeaterItem pi = e.Item; 
    Label1.Text = ?? 

    首先确定的是事件发生的item,但是我如何获取这个Item中,某个字段的值呢,我比如我只要这个item中的productid