Here, we will see a GridView with hyperlink
column. The column will show the article title. Upon clicking on the article
title, the article title can be pass to another page and display all information
related to the article title. A GridView with hyperlink column is very important when you are running a community
website where user posts articles, forum messages etc.
For example
In this example we create a database table with
title, description and author name. Title link will be create in the asp .net
GridView control. when we click on the title link it will be redirect to the
dynamic page.
Create a table in database named as
Articletable. Table looks like this.
CREATE TABLE [dbo].[Articletable](
[ID] [int]
NOT NULL,
[Title] [varchar](200) NULL,
[Description] [varchar](400) NULL,
[Author] [varchar](50) NULL
)
Inserting data in the articletable.
INSERT INTO Articletable
VALUES(1,'How
to validate dropdownlist in asp.net','Here,
we will learn how to validate a DropDownList in ASP.NET.','Rohatash
Kumar');
GO
INSERT INTO Articletable
VALUES(2,'Introduction
to .NET Assemblies in VB.NET','
Here is a comprehensive introduction to .NET assemblies.','sunil
Kumar');
go
INSERT INTO Articletable
VALUES(3,'BinaryReader
and BinaryWriter classes in VB.NET','In
this article I will explain about BinaryReader and BinaryWriter Classes in
VB.NET.','Deepak
Kumar');
go
INSERT INTO Articletable
VALUES(4,'StreamWriter
class in VB.NET','This
article shows how to create a new text file and write a string to it.','Rohatash
Kumar');
go
select * from
articletable;
OUTPUT

Table1 Now in ASP. NET
- Open Visual Studio.
- Add two webForm to your website, name it Gridview.aspx and dynamicpage.aspx.
Now drag and drop a GridView control from the
Toolbox on the gridview.aspx page.
Gridview.aspx
The form looks like this.

Figure1
.CS code
Imports
System.Data.SqlClient
Public Class Gridview
Inherits
System.Web.UI.Page
Protected Sub Page_Load(ByVal
sender As Object,
ByVal e As
System.EventArgs)
Handles Me.Load
GridView1.DataSource = GetData()
GridView1.DataBind()
End Sub
Public Shared Function
GenerateURL(ByVal Title
As Object,
ByVal strId As Object) As String
Dim
strTitle As String
= Title.ToString()
'#region
Generate SEO Friendly URL based on Title
strTitle = strTitle.Trim()
strTitle = strTitle.Trim("-"c)
strTitle = strTitle.ToLower()
Dim
chars As Char()
= "$%#@!*?;:~`+=()[]{}|\'<>,/^&"".".ToCharArray()
strTitle = strTitle.Replace("c#",
"C-Sharp")
strTitle = strTitle.Replace("vb.net",
"VB-Net")
strTitle = strTitle.Replace("asp.net",
"Asp-Net")
strTitle = strTitle.Replace(".",
"-")
For i
As Integer = 0
To chars.Length - 1
Dim
strChar As String
= chars.GetValue(i).ToString()
If
strTitle.Contains(strChar) Then
strTitle =
strTitle.Replace(strChar, String.Empty)
End If
Next
strTitle = strTitle.Replace("
", "-")
strTitle = strTitle.Replace("--",
"-")
strTitle = strTitle.Replace("---",
"-")
strTitle = strTitle.Replace("----",
"-")
strTitle = strTitle.Replace("-----",
"-")
strTitle = strTitle.Replace("----",
"-")
strTitle = strTitle.Replace("---",
"-")
strTitle = strTitle.Replace("--",
"-")
strTitle = strTitle.Trim()
strTitle = strTitle.Trim("-"c)
strTitle =
"~/Article/" & strTitle &
"-" & Convert.ToString(strId)
& ".aspx"
Return
strTitle
End Function
Private Function GetData() As DataTable
Dim
strConn As String
= ("Data Source=.; uid=sa; pwd=Password$2; database=userinfo")
Dim
conn As New SqlConnection(strConn)
Dim
da As New SqlDataAdapter("select
Id,Title,Description,author from Articletable", conn)
Dim
ds As New DataSet()
da.Fill(ds,
"MyTestTable")
Return
ds.Tables("MyTestTable")
End Function
End Class
dynamicpage.aspx
The form looks like this.

Figure2
The ASP. NET code for the dynamicpage.aspx page.
<formid="form1"runat="server"> <div> <h1><imgsrc="../Images/article.gif"/>Article</h1> <b>Title:</b><asp:LabelID="lblTitle"runat="server"Text="Label"Font-Bold="true"ForeColor="blue"></asp:Label><br/> AuthorName<b>:</b><asp:LabelID="lblauthor"runat="server"Text="Label" Font-Bold="true"ForeColor="blue"></asp:Label> <br/> <br/> <b>Description:</b><br/> <asp:LabelID="lblDescription"runat="server"Text="Label"></asp:Label><br/><br/> <br/><br/> </div> </form> |
.CS code
Imports
System.Data.SqlClient
Public Class dynamicpage
Inherits System.Web.UI.Page
Protected Sub
Page_Load(ByVal sender
As Object, ByVal
e As System.EventArgs)
Handles Me.Load
If Request.QueryString("MyTitleId")
IsNot Nothing Then
Dim strId As String = Request.QueryString("MyTitleId").ToString()
DisplayArticle(strId)
End If
End Sub
Private Sub
DisplayArticle(ByVal strId
As String)
Dim strConn As String = ("Data
Source=.; uid=sa; pwd=Password$2; database=userinfo")
Dim conn As New SqlConnection(strConn)
Dim da As New SqlDataAdapter("select
Id,Title,Description,author from Articletable where Id=" & strId, conn)
Dim ds As New DataSet()
da.Fill(ds,
"Articletable")
lblTitle.Text =
ds.Tables("Articletable").Rows(0)(1).ToString()
lblDescription.Text
= ds.Tables("Articletable").Rows(0)(2).ToString()
lblauthor.Text =
ds.Tables("Articletable").Rows(0)(3).ToString()
End Sub
End Class
URLRewriter.dll
Now Add the reference of the
URLRewriter.dll in the bin folder of the application witch is attached
with the download file.Add a image
Add Image in the images folder of the
application that will be display with the title of dynamic page at run time
witch is also attached with the download file.
Now run the application and test it.

Figure3
Now click on the title link. to redirect the
dynamic page.
Conclusion:
A GridView with hyperlink column is very useful for working with community
website. If there is any mistake in this article then please notify me. I expect
your valuable comments and feedback about this article.