如何获取Repeater里的textbox的数据?

解决方案 »

  1.   

    不行。((TextBox)Repeater1.FindControl("TextBox1")).Text,发生"未将对象引用设置到对象的实例。"错误.
      

  2.   

                    foreach (RepeaterItem var in this.Repeater.Items)
                    {
                        if (var.ItemType != ListItemType.Header &&
                             var.ItemType != ListItemType.Footer)
                        {
                            TextBox box = var.FindControl("TextBox1") as TextBox;
                                                
                        }
                    }判断下模板的类型
      

  3.   

    比如说ItemCommand事件中应判断e.ItemIndex>=0才执行下面的语句,否则,rp.FindControl("")取到的是null((TextBox)e.Item.FindControl("TextBox1")).Text
      

  4.   

    我是在 protected void LinkButton1_Click(object sender, EventArgs e)事件里面写的。  就是当按钮被点击的时候,获取Repeater1里面的TextBox1的数据。  
      

  5.   


    <form id="form1" runat="server">
        <div>
            
            <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
            <asp:TextBox ID="TextBox1" runat="server" Text="123"></asp:TextBox>
            </ItemTemplate>
            </asp:Repeater>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
        </form>protected void Page_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("A");
            dt.Rows.Add(new string[] { "A" });
            this.Repeater1.DataSource = dt;
            this.Repeater1.DataBind();
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write(((TextBox)this.Repeater1.Items[0].FindControl("TextBox1")).Text);
        }