This articles describes how to find textbox value from gridview in c#.net. Here first I find rowindex by using NamingContainer and then find textbox value from the gridview by using rowindex.
In client side(Default.aspx)
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="Id" OnRowCommand="GridView1_RowCommand" BorderWidth="1px" CellPadding="3" CellSpacing="2">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkInsert" runat="server" CommandArgument='<%# Eval("Id") %>' CommandName="lnkInsert" Text="Insert" ForeColor="#BC4510" />
<asp:TextBox ID="txtName" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
In Code behind(Default.aspx.cs)
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "lnkInsert")
{
int RowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;
string name = ((TextBox)GridView1.Rows[RowIndex].FindControl("txtName")).Text;
}
}