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;
}
}