This articles describes how to find gridview rowindex in c#. Normally wecan find rowindex by using NamingContainer.
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="lnkEdit" runat="server" CommandArgument='<%# Eval("Id") %>' CommandName="lnkEdit" Text="Edit" ForeColor="#BC4510" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
In Code behind(Default.aspx.cs)
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "lnkEdit"){
int RowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;
}
}