This is my Used coding ,It can Help u..
desinging Part :
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" DataKeyField="id"
BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px"
CellPadding="3" CellSpacing="1"
onselectedindexchanged="DataList1_SelectedIndexChanged">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
<ItemStyle BackColor="#DEDFDE" ForeColor="Black" />
<ItemTemplate>
<asp:LinkButton ID="Link1" runat="server" Text="Select" onclick="Link1_Click" ></asp:LinkButton>
<asp:HiddenField ID="HID" runat="server" Value='<%# Eval("id") %>' />
name:
<asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' />
<br />
address:
<asp:Label ID="addressLabel" runat="server" Text='<%# Eval("address") %>' />
<br />
<br />
</ItemTemplate>
<SelectedItemStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1"
SelectCommand="SELECT [id], [name], [address] FROM [Test1]" runat="server"
ConnectionString="<%$ ConnectionStrings:MandeepConnectionString %>">
</asp:SqlDataSource>
>
Coding Part :
protected void Link1_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
DataListItem item = lb.NamingContainer as DataListItem;
HiddenField HF = item.FindControl("HID") as HiddenField;
Response.Write(HF.Value);
}
This is tested..