Hi Chandann
Check this example. Now please take its reference and correct your code.
HTML
<div>
<asp:GridView ID="gvImage" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="imgId" ImageUrl="~/Image/plus.png" runat="server" OnClick="GetId" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Id" HeaderText="Id" />
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblId" Text='<%# Eval("TemplateId") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Country" HeaderText="Country" />
</Columns>
</asp:GridView>
<br />
Id: <asp:Label ID="lblId" runat="server" />
Template Id: <asp:Label ID="lblTemplateId" runat="server" />
</div>
Namespaces
C#
using System.Data;
VB.Net
Imports System.Data
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[4] { new DataColumn("Id", typeof(int)),
new DataColumn("TemplateId", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("Country",typeof(string)) });
dt.Rows.Add(1, 5, "John Hammond", "United States");
dt.Rows.Add(2, 6, "Mudassar Khan", "India");
dt.Rows.Add(3, 7, "Suzanne Mathews", "France");
dt.Rows.Add(4, 8, "Robert Schidner", "Russia");
gvImage.DataSource = dt;
gvImage.DataBind();
}
}
protected void GetId(object sender, EventArgs e)
{
ImageButton btn = (ImageButton)sender;
GridViewRow row = (GridViewRow)btn.NamingContainer;
string id = row.Cells[1].Text;
lblId.Text = id;
Label templateId = (Label)row.FindControl("lblId");
string tid = templateId.Text;
lblTemplateId.Text = tid;
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn(3) {New DataColumn("Id", GetType(Integer)), New DataColumn("TemplateId", GetType(Integer)), New DataColumn("Name", GetType(String)), New DataColumn("Country", GetType(String))})
dt.Rows.Add(1, 5, "John Hammond", "United States")
dt.Rows.Add(2, 6, "Mudassar Khan", "India")
dt.Rows.Add(3, 7, "Suzanne Mathews", "France")
dt.Rows.Add(4, 8, "Robert Schidner", "Russia")
gvImage.DataSource = dt
gvImage.DataBind()
End If
End Sub
Protected Sub GetId(ByVal sender As Object, ByVal e As EventArgs)
Dim btn As ImageButton = CType(sender, ImageButton)
Dim row As GridViewRow = CType(btn.NamingContainer, GridViewRow)
Dim id As String = row.Cells(1).Text
lblId.Text = id
Dim templateId As Label = CType(row.FindControl("lblId"), Label)
Dim tid As String = templateId.Text
lblTemplateId.Text = tid
End Sub
Screenshot
