Hi dude you can do this in two ways
1)RowCommand
2)Button Click event
RowCommand:
<asp:gridview id="gridMembersList" xmlns:asp="#unknown">
AutoGenerateColumns="False" GridLines="None"
runat="server"
onrowcommand="gridMembersList_RowCommand">
<columns>
<asp:templatefield headertext="User Name">
<itemtemplate>
<asp:literal id="ltrlName" runat="server">
Text='<%# Eval("Name") %>'></asp:literal>
<asp:literal id="ltrlSlno" runat="server" visible="False">
Text='<%# Eval("Id") %>'></asp:literal>
</itemtemplate>
</asp:templatefield>
<asp:templatefield headertext="View More">
<itemtemplate>
<asp:button id="btnViewmore">
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>
" CommandName="More" runat="server" Text="View More" />
</asp:button></itemtemplate>
</asp:templatefield>
</columns>
</asp:gridview>
protected void gridMembersList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "More")
{
int index = Convert.ToInt32(e.CommandArgument.ToString());
Literal ltrlslno = (Literal)gridMembersList.Rows[index].FindControl("ltrlSlno");
Literal ltrlName = (Literal)gridMembersList.Rows[index].FindControl("ltrlName");
ScriptManager.RegisterStartupScript(this, this.GetType(),
"Message", "alert('" + ltrlName.Text+ "');", true);
}
}
Button Click event
<asp:GridView AutoGenerateColumns="false" runat="server" ID="grdCustomPagging">
<Columns>
<asp:BoundField DataField="RowNumber" HeaderText="RowNumber" />
<asp:BoundField DataField="DealId" HeaderText="DealID" />
<asp:BoundField DataField="Dealtitle" HeaderText="DealTitle" />
<asp:TemplateField HeaderText="View">
<ItemTemplate>
<asp:LinkButton runat="server" ID="lnkView" OnClick="lnkView_Click">View Deal</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void lnkView_Click(object sender, EventArgs e)
{
GridViewRow grdrow = (GridViewRow)((LinkButton)sender).NamingContainer;
string rowNumber = grdrow.Cells[0].Text;
string dealId = grdrow.Cells[1].Text;
string dealTitle = grdrow.Cells[2].Text;
}