Click here to Skip to main content
15,914,405 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Im using gridview control and have text box in footer i need to add that text box value in table on click of add
im using
TextBox txtRoleName = gvRoleDtls.FooterRow.FindControl("txtRoleName") as TextBox;
but the value in text box is blank
please help me

What I have tried:

<asp:GridView runat="server" ID="gvRoleDtls" AutoGenerateColumns="false" Width="80%" ShowFooter="true" OnRowCommand="gvRoleDtls_RowCommand">
                            <Columns>
                                <asp:TemplateField HeaderText="Sr.No.">
                                    <ItemTemplate><%# Container.DataItemIndex + 1 %></ItemTemplate>
                                    <ItemStyle Width="5%" HorizontalAlign="Center" VerticalAlign="Middle" />
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="RoleId" HeaderStyle-CssClass="hidecolumn" ItemStyle-CssClass="hidecolumn">
                                    <HeaderStyle CssClass="hidecolumn" />
                                    <ItemTemplate>
                                        <asp:Label runat="server" ID="RoleId" Text='<%#Eval("RoleId")%>' CssClass="hidecolumn"></asp:Label>
                                    </ItemTemplate>
                                    <FooterStyle CssClass="hidecolumn"/>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Name">
                                    <ItemTemplate>
                                      <asp:Label runat="server" ID ="lblRoleName" Text='<%#Eval("RoleName") %>'></asp:Label>
                                    </ItemTemplate>
                                     <ItemStyle Width="60%" HorizontalAlign="Left" VerticalAlign="Middle" />
                                    <FooterTemplate>
                                       <asp:TextBox ID="txtRoleName" runat="server" ></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Active">
                                    <ItemTemplate>
                                         <asp:Label runat="server" ID ="lblActive" Text='<%#Eval("Active") %>'></asp:Label>
                                    </ItemTemplate>
                                    <ItemStyle Width="25%" HorizontalAlign="Center" VerticalAlign="Middle" />
                                </asp:TemplateField>

                                  <asp:TemplateField HeaderText="Added On">
                                    <ItemTemplate>
                                       <asp:Label runat="server" ID ="lblAddedOn" Text='<%#Eval("AddedOn") %>'></asp:Label>
                                    </ItemTemplate>
                                    <ItemStyle Width="25%" HorizontalAlign="Center" VerticalAlign="Middle" />
                                </asp:TemplateField>

                                <asp:TemplateField HeaderText="Action">
                                    <ItemTemplate>
                                        <asp:ImageButton ID="Edit" runat="server" AlternateText="Edit" />
                                        <asp:ImageButton ID="Delete" runat="server" AlternateText="Delete"/>
                                    </ItemTemplate>
                                    <ItemStyle Width="10%" HorizontalAlign="Center" VerticalAlign="Middle" />
                                    <FooterTemplate>
                                        <asp:LinkButton ID="lnkbtnAdd" runat="server"  CommandName="ADD_NEW_ROW">Add</asp:LinkButton>
                                    </FooterTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>




aspx code
protected void gvRoleDtls_RowCommand(object sender, GridViewCommandEventArgs e)
      {
          if (e.CommandName.ToUpper().Equals("ADD_NEW_ROW"))
          {
              int i = 0;
              TextBox txtRoleName = gvRoleDtls.FooterRow.FindControl("txtRoleName") as TextBox;
              i = objRole.AddUpdateRole(0, txtRoleName.Text, "I", 1);
              if (i == 0)
              {
                  string s = MessageRepository.MESSAGE_DATA_SAVED;
                  ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "SymbolError",
                                    "<script type='text/javascript'>alert(' " + s + "');</script>", false);
                  BindGrid();
              }
          }
      }
Posted
Comments
Graeme_Grant 4-Sep-17 2:12am    
To post back a value, which is what you are trying to do, you need to have it in a Form. With ASP.NET WebForms, I believe that only 1 form can exist on any page; MVC is different and can have multiple forms.
Member 12966735 4-Sep-17 2:55am    
sorry but im not getting you can you please explain using any example
im using content place holder here
Richard Deeming 5-Sep-17 15:42pm    
You might have better luck using the ListView control. It's a bit more work to set up, but it has built-in support for displaying an "insert" item.

System.Web.UI.WebControls.ListView[^]
ListView Web Server Control Overview[^]

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900