我在repeater中绑定了id字段 想在repeater外面获取repeater的某一行的这个Id字段,该怎么获取啊

解决方案 »

  1.   

    取决于你Repeater中的ItemTemplate。下面的例子中ItemTemplate放置的是label.aspx: <div>
        <asp:Repeater ID="Repeater1" runat="server" DataMember="DefaultView" 
                DataSourceID="SqlDataSource1">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text=<%# Eval("ProductID")%>></asp:Label>
                    <asp:Label ID="Label2" runat="server" Text=<%# Eval("ProductName")%>></asp:Label>
                    <br />                      </ItemTemplate>
        </asp:Repeater>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
                SelectCommand="SELECT [ProductID], [ProductName] FROM [Products]">
            </asp:SqlDataSource>
            <br />
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
        </div>
    cs:        protected void Button1_Click(object sender, EventArgs e)
            {
                Label textControl = (Label)Repeater1.Items[3].FindControl("Label1");
                //textControl.Text 就是你需要的值
            }
      

  2.   

    可以把这句话复制到 你删除控件的后面<asp:Label ID="lbl_Order_Id" Visible="False" Text='<%# Eval("ID")  %>' runat="server" />
    后台调用Label lableText = (Label)Repeater1.Items[e.Item.ItemIndex].FindControl("lbl_Order_Id");
    取值的时候直接取它的Text 就行了。
    lableText.Text