Export (0) Print
Expand All

HyperLinkField Class

Represents a field that is displayed as a hyperlink in a data-bound control.

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

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class HyperLinkField : DataControlField

The HyperLinkField class is used by data-bound controls (such as GridView and DetailsView) to display a hyperlink for each record displayed. When the user clicks a hyperlink, he or she is directed to the Web page associated with the hyperlink. The HyperLinkField object is displayed differently depending on the data-bound control in which it is used. For example, the GridView control displays a HyperLinkField object as a column, while the DetailsView control displays it as a row.

To specify the caption to display for the hyperlinks, use the Text property. Use the NavigateUrl property to specify the URL to navigate to when a hyperlink is clicked. If you want to display the linked content in a specific window or frame, set the Target property.

NoteNote:

When the Text and NavigateUrl properties are set, all hyperlinks in the HyperLinkField object share the same caption and navigation URL. Likewise, the Target property also applies to all hyperlinks.

Alternatively, you can bind the HyperLinkField object to fields in a data source. This allows you to display a different caption for each hyperlink in the HyperLinkField object and to have each hyperlink navigate to a different location. To bind a field to a caption, set the DataTextField property. To create a URL for navigation, set the DataNavigateUrlFields property to a comma-separated list of fields to use to create the URL.

You can specify a custom format for the captions and navigation URLs by setting the DataTextFormatString and DataNavigateUrlFormatString properties, respectively.

You can hide a HyperLinkField object in a data-bound control by setting the Visible property to false.

You can customize the header and footer sections of a HyperLinkField object. To display a caption in the header or footer sections, set the HeaderText or FooterText properties, respectively. To display an image in the header section instead of text, set the HeaderImageUrl property. The header section can be hidden in the HyperLinkField object by setting the ShowHeader property to false.

NoteNote:

Some data-bound controls (such as the GridView control) can show or hide only the entire header section of the control. These data-bound controls do not support the ShowHeader property for an individual bound field. To show or hide the entire header section of a data-bound control, use the control's ShowHeader property (if available).

You also can customize the appearance of the HyperLinkField object (font color, background color, and so on) by setting the style properties for the different parts of the field. The following table lists the different style properties.

Style property

Description

ControlStyle

The style settings for the child Web server controls of the HyperLinkField object.

FooterStyle

The style settings for the footer section of the HyperLinkField object.

HeaderStyle

The style settings for the header section of the HyperLinkField object.

ItemStyle

The style settings for the data items in the HyperLinkField object.

The following code example demonstrates how to use a HyperLinkField object to display a column of static hyperlinks in a GridView control. Each hyperlink in the HyperLinkField object shares the same caption and navigation URL specified by the Text and NavigateUrl properties, respectively.

<%@ Page language="C#" %>

<!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>HyperLinkField Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>HyperLinkField Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- Set the HyperLinkField field column to a static     -->
      <!-- caption and URL.                                    -->
      <asp:gridview id="OrdersGridView" 
        datasourceid="OrdersSqlDataSource" 
        autogeneratecolumns="false"
        runat="server">

        <columns>

          <asp:boundfield datafield="OrderID" 
            headertext="OrderID"/>
          <asp:boundfield datafield="CustomerID" 
            headertext="Customer ID"/>
          <asp:boundfield datafield="OrderDate" 
            headertext="Order Date"
            dataformatstring="{0:d}" />
          <asp:hyperlinkfield text="Details..."
            navigateurl="~\details.aspx"            
            headertext="Order Details"
            target="_blank" />

        </columns>

      </asp:gridview>

      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Northwind sample database.                   -->
      <asp:sqldatasource id="OrdersSqlDataSource"  
        selectcommand="SELECT [OrderID], [CustomerID], [OrderDate] FROM [Orders]"
        connectionstring="server=localhost;database=northwind;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>

    </form>
  </body>
</html>

The following code example demonstrates how to bind a HyperLinkField object to fields in a data source. The DataTextField and DataNavigateUrlFields properties are used to specify the fields to bind to the caption and the navigation URL, respectively, of each hyperlink displayed in the HyperLinkField object.

<%@ Page language="C#" %>

<!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>HyperLinkField Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>HyperLinkField Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- The UnitPrice field values are bound to the         -->
      <!-- captions of the hyperlinks in the HyperLinkField    -->
      <!-- field column, formatted as currency. The ProductID  -->
      <!-- field values are bound to the navigate URLs of the  -->
      <!-- hyperlinks. However, instead of being the actual    -->
      <!-- URL values, the product ID is passed to the linked  -->
      <!-- page as a parameter in the URL specified by the     -->
      <!-- DataNavigateUrlFormatString property.               -->
      <asp:gridview id="OrdersGridView" 
        datasourceid="OrdersSqlDataSource" 
        autogeneratecolumns="false"
        runat="server">

        <columns>

          <asp:boundfield datafield="OrderID" 
            headertext="Order ID"/>
          <asp:boundfield datafield="ProductID" 
            headertext="Product ID"/>
          <asp:hyperlinkfield datatextfield="UnitPrice"
            datatextformatstring="{0:c}"
            datanavigateurlfields="ProductID"
            datanavigateurlformatstring="~\details.aspx?ProductID={0}"          
            headertext="Price"
            target="_blank" />
          <asp:boundfield datafield="Quantity" 
            headertext="Quantity"/>

        </columns>

      </asp:gridview>

      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Northwind sample database.                   -->
      <asp:sqldatasource id="OrdersSqlDataSource"  
        selectcommand="SELECT [OrderID], [ProductID], [UnitPrice], [Quantity] FROM [Order Details]"
        connectionstring="server=localhost;database=northwind;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>

    </form>
  </body>
</html>

System.Object
  System.Web.UI.WebControls.DataControlField
    System.Web.UI.WebControls.HyperLinkField

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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft