Here you will learn how to bind one
field data as a link in DataList control and its related data will be shown in a
gridview control.
Program
Default.aspx code
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled
Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList id="DataList1"
DataKeyField="sid"
runat="server" Font-Bold="True">
<FooterStyle BackColor="#FFCC00" ForeColor="#FF3300" />
<EditItemStyle BackColor="#FF8080" />
<AlternatingItemStyle BackColor="#FFFF99" />
<HeaderTemplate>
Student Id
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="l1" text='<%#container.dataitem("sid")%>' Runat="server">
</asp:LinkButton>
</ItemTemplate>
<HeaderStyle BackColor="#FF9933" />
<FooterTemplate>
Completed
</FooterTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>
Default.aspx.vb code
Imports
System.Data.SqlClient
Imports
System.Data
Partial Class _Default
Inherits System.Web.UI.Page
Dim strConnString
As String =
System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
Dim sqlda As
SqlDataAdapter
Dim com As
SqlCommand
Dim ds As
DataSet
Dim dt As
DataTable
Dim str As String
Dim con As New SqlConnection(strConnString)
Protected Sub
Page_Load(ByVal sender
As Object, ByVal
e As System.EventArgs)
Handles Me.Load
If Not
IsPostBack Then
con.Open()
Str = "select * from student"
com = New SqlCommand(Str,
con)
sqlda = New SqlDataAdapter(com)
ds = New DataSet
sqlda.Fill(ds, "student")
DataList1.DataMember = "student"
DataList1.DataSource = ds
DataList1.DataBind()
con.Close()
End If
End Sub
Protected Sub
DataList1_ItemCommand(ByVal source
As Object,
ByVal e As
System.Web.UI.WebControls.DataListCommandEventArgs)
Handles
DataList1.ItemCommand
Dim s As String
s = DataList1.DataKeys(e.Item.ItemIndex)
Response.Redirect(String.Format("Default2.aspx?id={0}",
s))
End Sub
End Class
Default2.aspx code
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled
Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" BackColor="#FF9999" runat="server">
<HeaderStyle BackColor="#FFCC99" />
</asp:GridView>
</div>
</form>
</body>
</html>
Default2.aspx.vb code
Imports
System.Data.SqlClient
Imports
System.Data
Partial Class Default2
Inherits System.Web.UI.Page
Dim strConnString
As String =
System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
Dim sqlda As
SqlDataAdapter
Dim com As
SqlCommand
Dim ds As
DataSet
Dim dt As
DataTable
Dim str As String
Dim con As New SqlConnection(strConnString)
Protected Sub
Page_Load(ByVal sender
As Object, ByVal
e As System.EventArgs)
Handles Me.Load
If Not
IsPostBack Then
con.Open()
Str = "select * from student where sid='"
& Request.QueryString("id") &
"'"
com = New SqlCommand(Str,
con)
sqlda = New SqlDataAdapter(com)
ds = New DataSet
ds.Clear()
ds.Reset()
sqlda.Fill(ds, "student")
GridView1.DataMember = "student"
GridView1.DataSource = ds
GridView1.DataBind()
con.Close()
End If
End Sub
End Class
Output


Thanks for reading.