Repeater Control, Insert

I am trying to insert a comment using repeater Control

my code in html

 <asp:Repeater ID="repConcerns" runat="server" OnItemCommand="post"  >
           <ItemTemplate >           
             <div class="row col-md-12">


                         <div class="col-sm-2" style="background-color:#808080">
                         <asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("Pathh") %>' width="90px" Height="90px" CssClass="img-circle" title='<%#Eval("Name") %>'/>&nbsp;<br/><asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("Name") %>'  CssClass="btn btn-info btn-sm" CommandName="btnMessage" CommandArgument='<%#Eval("Username") %>'></asp:LinkButton><br/>                    

                              </div> 
                       <div class="col-sm-10" style="background-color:#808080" >
                         <asp:Label ID="Label1" width="100%" style="padding:7px;" runat="server" Enabled="false" Text='<%#Eval("Title") %>'> </asp:Label>
                         <asp:TextBox ID="txtMessage" placeholder="Empty Post" width="100%" style="padding:7px;" runat="server" Text='<%#Eval("Detail") %>' TextMode="MultiLine" Enabled="false" Height="100px"> </asp:TextBox>
                         <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("Sno") %>' />
                        <div class="bar"></div> 

                           <asp:TextBox ID="txtcomment" runat="server" CssClass="form-control form-control-sm" placeholder="Comment / Write Openion Suggestion" TextMode="MultiLine" Height="40px"></asp:TextBox>
                           <asp:LinkButton ID="btn" runat="server"  CssClass="btn btn-primary" CommandName="comment" CommandArgument='<%#Eval("Sno") %>' >Post</asp:LinkButton>
                       </div>



              </div> 
               <div  style="padding-bottom:10px;"></div>

                 <%--<br /> --%>                     
           </ItemTemplate>
        </asp:Repeater>

and C# code

 protected void post(object source, RepeaterCommandEventArgs e)
{

    if(e.CommandName== "comment")
    {
        a = e.CommandArgument.ToString();

        SqlConnection con = new SqlConnection(strconn);
        SqlCommand com = new SqlCommand();
        com.CommandText = "insert into Comments(Sno,Comment,Username)values('" +a+ "','" + txtcomment.Text  + "','" + username + "')";
        con.Open();


    }
}

I do not know how to insert into table "Comment". I have made a "Page" in which their are wall posts. I have included an option for Comment. The comment button appears as it should with every post. But i do not know how to insert comment in table "Comment". i am trying to insert comment with corresponding "Sno" of Posts saved in HiddenField. But when i try to write Text Box id there "txtcomment.text" it gives me error. How do i insert.

1 answer

  • answered 2018-01-14 08:50 SBFrancies

    I've made some amendments to you original code - note the comments:

    protected void post(object source, RepeaterCommandEventArgs e)
    {
    
        if(e.CommandName== "comment")
        {
            //Find TextBox Control
            TextBox txt = (TextBox)e.Item.FindControl("txtcomment");
            var sno = e.CommandArgument.ToString();
    
            SqlConnection con = new SqlConnection(strconn);
            SqlCommand com = new SqlCommand();
            com.CommandText = "INSERT INTO Comments(Sno,Comment,Username) VALUES (@SNO, @COMMENT, @USERNAME)";
    
            //Add Command Parameters
            com.Parameters.AddWithValue("@SNO", sno);
            com.Parameters.AddWithValue("@COMMENT", txt.Text);
            com.Parameters.AddWithValue("@USERNAME", username);
    
            con.Open();
    
            //Execute Command
            com.ExecuteNonQuery();
        }
    }