HyperLinkColumn Class (System.Web.UI.WebControls)

Switch View :
ScriptFree
.NET Framework Class Library
HyperLinkColumn Class

A column type for the DataGrid control that contains a hyperlink for each item in the column.

Inheritance Hierarchy

System.Object
  System.Web.UI.WebControls.DataGridColumn
    System.Web.UI.WebControls.HyperLinkColumn

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
Syntax

Visual Basic
Public Class HyperLinkColumn _
	Inherits DataGridColumn
C#
public class HyperLinkColumn : DataGridColumn
Visual C++
public ref class HyperLinkColumn : public DataGridColumn
F#
type HyperLinkColumn =  
    class
        inherit DataGridColumn
    end

The HyperLinkColumn type exposes the following members.

Constructors

  Name Description
Public method HyperLinkColumn Initializes a new instance of the HyperLinkColumn class.
Top
Properties

  Name Description
Public property DataNavigateUrlField Gets or sets the field from a data source to bind to the URL of the hyperlinks in the HyperLinkColumn.
Public property DataNavigateUrlFormatString Gets or sets the display format for the URL of the hyperlinks in the HyperLinkColumn when the URL is data-bound to a field in a data source.
Public property DataTextField Gets or sets the field from a data source to bind to the text caption of the hyperlinks in the HyperLinkColumn.
Public property DataTextFormatString Gets or sets the display format for the text caption of the hyperlinks in the HyperLinkColumn column.
Protected property DesignMode Gets a value that indicates whether the column is in design mode. (Inherited from DataGridColumn.)
Public property FooterStyle Gets the style properties for the footer section of the column. (Inherited from DataGridColumn.)
Public property FooterText Gets or sets the text displayed in the footer section of the column. (Inherited from DataGridColumn.)
Public property HeaderImageUrl Gets or sets the location of an image to display in the header section of the column. (Inherited from DataGridColumn.)
Public property HeaderStyle Gets the style properties for the header section of the column. (Inherited from DataGridColumn.)
Public property HeaderText Gets or sets the text displayed in the header section of the column. (Inherited from DataGridColumn.)
Protected property IsTrackingViewState Gets a value that determines whether the DataGridColumn object is marked to save its state. (Inherited from DataGridColumn.)
Public property ItemStyle Gets the style properties for the item cells of the column. (Inherited from DataGridColumn.)
Public property NavigateUrl Gets or sets the URL to link to when a hyperlink in the column is clicked.
Protected property Owner Gets the DataGrid control that the column is a member of. (Inherited from DataGridColumn.)
Public property SortExpression Gets or sets the name of the field or expression to pass to the OnSortCommand method when a column is selected for sorting. (Inherited from DataGridColumn.)
Public property Target Gets or sets the target window or frame to display the Web page content that is linked to when the hyperlink in the column is clicked.
Public property Text Gets or sets the text caption to display for the hyperlinks in the column.
Protected property ViewState Gets the System.Web.UI.StateBag object that allows a column derived from the DataGridColumn class to store its properties. (Inherited from DataGridColumn.)
Public property Visible Gets or sets a value that indicates whether the column is visible in the DataGrid control. (Inherited from DataGridColumn.)
Top
Methods

  Name Description
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected method FormatDataNavigateUrlValue Formats a data-bound URL using the format specified by the DataNavigateUrlFormatString property.
Protected method FormatDataTextValue Formats a data-bound text caption using the format specified by the DataTextFormatString property.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Initialize Provides the base implementation to reset a column derived from the DataGridColumn class to its initial state. (Overrides DataGridColumn.Initialize().)
Public method InitializeCell Initializes the cell representing this column with the contained hyperlink. (Overrides DataGridColumn.InitializeCell(TableCell, Int32, ListItemType).)
Protected method LoadViewState Loads the state of the DataGridColumn object. (Inherited from DataGridColumn.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnColumnChanged Calls the DataGridDesigner.OnColumnsChanged method. (Inherited from DataGridColumn.)
Protected method SaveViewState Saves the current state of the DataGridColumn object. (Inherited from DataGridColumn.)
Public method ToString Returns the string representation of the column. (Inherited from DataGridColumn.)
Protected method TrackViewState Causes tracking of view-state changes to the server control so they can be stored in the server control's System.Web.UI.StateBag object. (Inherited from DataGridColumn.)
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private property IStateManager.IsTrackingViewState Infrastructure. Gets a value that indicates whether the column is tracking view state changes. (Inherited from DataGridColumn.)
Explicit interface implemetation Private method IStateManager.LoadViewState Infrastructure. Loads previously saved state. (Inherited from DataGridColumn.)
Explicit interface implemetation Private method IStateManager.SaveViewState Infrastructure. Returns an object containing state changes. (Inherited from DataGridColumn.)
Explicit interface implemetation Private method IStateManager.TrackViewState Infrastructure. Starts tracking state changes. (Inherited from DataGridColumn.)
Top
Remarks

Use the HyperLinkColumn column type in a DataGrid control to create a hyperlink for each row in the DataGrid. Set the Text property to specify the caption text for the hyperlink. To specify the URL to link to when the hyperlink is clicked, set the NavigateUrl property.

Note Note

If you set the Text and NavigateUrl properties, all hyperlinks in the column will share the same caption and URL.

You can also bind the text caption and URL of the hyperlinks in the HyperLinkColumn to a field in a data source instead of setting the Text and NavigateUrl properties. This allows you to display a different caption and to specify a different URL for each hyperlink in the column.

Use the DataTextField property to specify a field in a data source to bind to the text caption of the hyperlinks in the column.

Note Note

The DataTextField and Text properties cannot both be set at the same time. If both properties are set, the DataTextField property takes precedence.

Specify the field to bind to the URL of the hyperlink by setting the DataNavigateUrlField property.

Note Note

The DataNavigateUrlField and NavigateUrl properties cannot both be set at the same time. If both properties are set, the DataNavigateUrlField property takes precedence.

The Target property allows you to specify the window or frame to display the Web page content linked to when the hyperlink is clicked.

When using data binding, you can format the text caption and URL of the hyperlink by setting the DataTextFormatString and DataNavigateUrlFormatString properties, respectively.

Caution note Caution

This control can be used to display user input, which might include malicious client script. Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. You can use validation controls to verify user input before displaying the input text in a control. ASP.NET provides an input request validation feature to block script and HTML in user input. For more information, see Securing Standard ControlsHow to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings, and Validating User Input in ASP.NET Web Pages.

Examples

The following example demonstrates how to create a HyperLinkColumn that links to a separate page.

Note Note

The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information on the Web Forms code model, see ASP.NET Web Page Code Model.

Visual Basic

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!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>
    <title>HyperLinkColumn Example</title>
<script runat="server">

      Function CreateDataSource() As ICollection 

         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow
         Dim i As Integer

         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("PriceValue", GetType(Double)))

         For i = 0 to 2 

            dr = dt.NewRow()

            dr(0) = i
            dr(1) = CDbl(i) * 1.23

            dt.Rows.Add(dr)

         Next i

         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function

      Sub Page_Load(sender As Object, e As EventArgs) 

         MyDataGrid.DataSource = CreateDataSource()
         MyDataGrid.DataBind()

      End Sub

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3>HyperLinkColumn Example</h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DataNavigateUrlField="IntegerValue"
                 DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>

         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>


C#

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!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>
    <title>HyperLinkColumn Example</title>
<script runat="server">

      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;

         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("PriceValue", typeof(Double)));

         for (int i = 0; i < 3; i++) 
         {
            dr = dt.NewRow();

            dr[0] = i;
            dr[1] = (Double)i * 1.23;

            dt.Rows.Add(dr);
         }

         DataView dv = new DataView(dt);
         return dv;
      }

      void Page_Load(Object sender, EventArgs e) 
      {
         MyDataGrid.DataSource = CreateDataSource();
         MyDataGrid.DataBind();
      }

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3>HyperLinkColumn Example</h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DataNavigateUrlField="IntegerValue"
                 DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>

         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>



The following corresponding example displays the item selected in the previous example.

Visual Basic

<%@ Page Language="VB" AutoEventWireup="True" %>
<!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>
    <title>Details page for DataGrid</title>
<script runat="server">

      Sub Page_Load(sender As Object, e As EventArgs) 

         Label1.Text = "You selected item: " & Request.QueryString("id")

      End Sub

   </script>

</head>
<body>

   <h3>Details page for DataGrid</h3>

   <asp:Label id="Label1"
        runat="server"/>

</body>
</html>



C#

<%@ Page Language="C#" AutoEventWireup="True" %>
<!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>
    <title>Details page for DataGrid</title>
<script runat="server">

      void Page_Load(Object sender, EventArgs e) 
      {
         Label1.Text = "You selected item: " + Request.QueryString["id"];
      }

   </script>

</head>
<body>

   <h3>Details page for DataGrid</h3>

   <asp:Label id="Label1"
        runat="server"/>

</body>
</html>



Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also

Reference

Other Resources