Hi i try to get two data from my controls inside repeater (txtComment and ddlServiceStatus) so i can execute my insert statement in btnNewComment but I can't get any data.Here is my code please help me.\[code\]<asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound"> <ItemTemplate><table border="1" cellpadding="0" cellspacing="2" style="font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 13px; border-collapse: collapse; border-color:Black;" width="900px"><tr style="color: #FFFFFF; background-color: #FF0000"><td>Service Name</td> <td>Date</td><td>Channel Name</td><td>User Name</td><td>Msisdn</td><td>Status</td></tr><tr><td><asp:Label ID="lblService" runat="server" Text='<%# Eval("serviceName") %>'></asp:Label></td><td><asp:Label ID="lblDate" runat="server" Text='<%# Eval("date") %>'></asp:Label></td><td><asp:Label ID="lblChannelName" runat="server" Text='<%# Eval("channelName") %>'></asp:Label></td><td><asp:Label ID="lblUserName" runat="server" Text='<%# Eval("userName") %>'></asp:Label></td><td><asp:Label ID="lblMsisdn" runat="server" Text='<%# Eval("msisdn") %>'></asp:Label></td><td><asp:Label ID="lblStatus" runat="server" Text='<%# getStatusName(Eval("status")) %>'></asp:Label></td> </tr><tr><td colspan="6"><asp:Label ID="lblComment" runat="server" Text='<%# Eval("comment") %>' Width="900px"></asp:Label></td></tr><tr><td style="text-align:center;" colspan="6"><div><br /><a href="http://stackoverflow.com/questions/14061462/#" class="ToggleTikla" > <img src="http://stackoverflow.com/questions/images/continuebtn.jpg" /> </a> <div id="fader"><br /> <asp:TextBox ID="txtComment" runat="server" TextMode="MultiLine" Width="900px" BorderStyle="Solid" BorderColor="Black" BackColor="#CCFFFF"></asp:TextBox><br /> <aspropDownList ID="ddlServiceStatus" runat="server" ></aspropDownList> <asp:Button ID="btnNewComment" runat="server" Text="New Comment" ForeColor="White" BackColor="Red" Font-Bold="True" onclick="btnNewComment_Click" /> <br /><br /> <asp:Repeater ID="rpNested" runat="server"> <ItemTemplate> <table border="1" cellpadding="0" cellspacing="2" style="font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 13px; border-collapse: collapse; border-color:Black; text-align:left;" width="900px"> <tr style="color: #FFFFFF; background-color: #FF0000"> <td>Name</td> <td>Date</td> <td>Status</td> </tr> <tr> <td><asp:Label ID="lblExUserName" runat="server" Text='<%# Eval("Tester") %>'></asp:Label> </td> <td><asp:Label ID="lblExDate" runat="server" Text='<%# Eval("Date") %>'></asp:Label></td> <td><asp:Label ID="lblExstatus" runat="server" Text='<%# getStatusName(Eval("status")) %>'></asp:Label></td> </tr> <tr><td colspan="3"> <asp:Label ID="lblExCommand" runat="server" Text='<%# Eval("Comment") %>'></asp:Label></td></tr> </table> <br /><br /> </ItemTemplate> </asp:Repeater> protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (txtAlert.Text.Length > 0)//if user entered an alertid { int alertID; try { alertID = Convert.ToInt32(txtAlert.Text);//convert alertid to int alertid } catch (Exception ex) { return;//do nothing user not entered a valid alertid } } SqlDataAdapter adp = new SqlDataAdapter("aaa_GetAlertbyUserID", _con); adp.SelectCommand.CommandType = CommandType.StoredProcedure; adp.SelectCommand.Parameters.AddWithValue("@userID", DropDownList1.SelectedValue); adp.SelectCommand.Parameters.AddWithValue("@alertID", txtAlert.Text); //create and show search results DataSet ds = new DataSet(); adp.Fill(ds); Repeater1.DataSource = ds; Repeater1.DataBind(); //ds.Relations.Add(new DataRelation("alertComments",ds.Tables[0].Columns["ID"],ds.Tables[1].Columns["ID"])); //rpAlert.DataSource = ds; //rpAlert.DataBind(); foreach (RepeaterItem ritem in Repeater1.Items) { DropDownList ddl = ritem.FindControl("ddlServiceStatus") as DropDownList; ddl = getAlertStatusList(ddl); TextBox txt = ritem.FindControl("txtComment") as TextBox; Button btn = ritem.FindControl("btnNewComment") as Button; //btn.Click += new EventHandler(btn_Click); } } private DropDownList getAlertStatusList(DropDownList ddl) { ddl.Items.Clear(); SqlDataAdapter adp = new SqlDataAdapter("pr_GetAlertStatusList", _con); adp.SelectCommand.CommandType = CommandType.StoredProcedure; DataTable dt = new DataTable(); adp.Fill(dt); ddl.DataSource = dt; ddl.DataValueField = "ID"; ddl.DataTextField = "Name"; ddl.DataBind(); ddl.Items.Insert(0, "Please Select Status"); return ddl; } protected void btnNewComment_Click(object sender, EventArgs e) { var status = Convert.ToInt32(((DropDownList)Repeater1.FindControl("ddlServiceStatus")).SelectedValue); var comment = ((TextBox)Repeater1.FindControl("txtComment")).Text; if (comment.Length == 0) { return; } else { try { int alertID = Convert.ToInt32(txtAlert.Text); SqlDataAdapter adp = new SqlDataAdapter("aaa_InsertAlertCommentwithStatust", _con); // adp.SelectCommand.CommandType = CommandType.StoredProcedure; adp.SelectCommand.Parameters.AddWithValue("@alertID", alertID); adp.SelectCommand.Parameters.AddWithValue("@userID", DropDownList1.SelectedValue); adp.SelectCommand.Parameters.AddWithValue("@date", DateTime.Now); adp.SelectCommand.Parameters.AddWithValue("@comment", comment); adp.SelectCommand.Parameters.AddWithValue("@status", status - 1); DataSet ds = new DataSet(); adp.Fill(ds); adp.SelectCommand.ExecuteNonQuery(); } catch (Exception x) { lblInfo.Text = "Error" + x.Message; } } }\[/code\]