HyperLinkField Class (System.Web.UI.WebControls)

Switch View :
ScriptFree
.NET Framework Class Library
HyperLinkField Class

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

Inheritance Hierarchy

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

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

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

The HyperLinkField type exposes the following members.

Constructors

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

  Name Description
Public property AccessibleHeaderText Gets or sets text that is rendered as the AbbreviatedText property value in some controls. (Inherited from DataControlField.)
Protected property Control Gets a reference to the data control that the DataControlField object is associated with. (Inherited from DataControlField.)
Public property ControlStyle Gets the style of any Web server controls contained by the DataControlField object. (Inherited from DataControlField.)
Public property DataNavigateUrlFields Gets or sets the names of the fields from the data source used to construct the URLs for the hyperlinks in the HyperLinkField object.
Public property DataNavigateUrlFormatString Gets or sets the string that specifies the format in which the URLs for the hyperlinks in a HyperLinkField object are rendered.
Public property DataTextField Gets or sets the name of the field from the data source containing the text to display for the hyperlink captions in the HyperLinkField object.
Public property DataTextFormatString Get or sets the string that specifies the format in which the hyperlink captions in a HyperLinkField object are displayed.
Protected property DesignMode Gets a value indicating whether a data control field is currently viewed in a design-time environment. (Inherited from DataControlField.)
Public property FooterStyle Gets or sets the style of the footer of the data control field. (Inherited from DataControlField.)
Public property FooterText Gets or sets the text that is displayed in the footer item of a data control field. (Inherited from DataControlField.)
Public property HeaderImageUrl Gets or sets the URL of an image that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public property HeaderStyle Gets or sets the style of the header of the data control field. (Inherited from DataControlField.)
Public property HeaderText Gets or sets the text that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public property InsertVisible Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode. (Inherited from DataControlField.)
Protected property IsTrackingViewState Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Public property ItemStyle Gets the style of any text-based content displayed by a data control field. (Inherited from DataControlField.)
Public property NavigateUrl Infrastructure. Gets or sets the URL to navigate to when a hyperlink in a HyperLinkField object is clicked.
Public property ShowHeader Gets or sets a value indicating whether the header item of a data control field is rendered. (Inherited from DataControlField.)
Public property SortExpression Gets or sets a sort expression that is used by a data source control to sort data. (Inherited from DataControlField.)
Public property Target Gets or sets the target window or frame in which to display the Web page linked to when a hyperlink in a HyperLinkField object is clicked.
Public property Text Gets or sets the text to display for each hyperlink in the HyperLinkField object.
Protected property ViewState Gets a dictionary of state information that allows you to save and restore the view state of a DataControlField object across multiple requests for the same page. (Inherited from DataControlField.)
Public property Visible Gets or sets a value indicating whether a data control field is rendered. (Inherited from DataControlField.)
Top
Methods

  Name Description
Protected method CloneField Infrastructure. Creates a duplicate copy of the current DataControlField-derived object. (Inherited from DataControlField.)
Protected method CopyProperties Copies the properties of the current HyperLinkField object to the specified object. (Overrides DataControlField.CopyProperties(DataControlField).)
Protected method CreateField Returns a new instance of the HyperLinkField class. (Overrides DataControlField.CreateField().)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method ExtractValuesFromCell Extracts the value of the data control field from the current table cell and adds the value to the specified IDictionary collection. (Inherited from DataControlField.)
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 the navigation URL using the format string specified by the DataNavigateUrlFormatString property.
Protected method FormatDataTextValue Formats the caption text using the format string 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 Initializes the HyperLinkField object. (Overrides DataControlField.Initialize(Boolean, Control).)
Public method InitializeCell Initializes a cell in a HyperLinkField object. (Overrides DataControlField.InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).)
Protected method LoadViewState Restores the data source view's previously saved view state. (Inherited from DataControlField.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnFieldChanged Raises the FieldChanged event. (Inherited from DataControlField.)
Protected method SaveViewState Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Public method ToString Returns a string that represents this DataControlField object. (Inherited from DataControlField.)
Protected method TrackViewState Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page. (Inherited from DataControlField.)
Public method ValidateSupportsCallback Indicates that the controls contained by the HyperLinkField object support callbacks. (Overrides DataControlField.ValidateSupportsCallback().)
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private property IDataSourceViewSchemaAccessor.DataSourceViewSchema Infrastructure. Gets or sets the schema associated with this DataControlField object. (Inherited from DataControlField.)
Explicit interface implemetation Private property IStateManager.IsTrackingViewState Infrastructure. Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.LoadViewState Infrastructure. Restores the data control field's previously saved view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.SaveViewState Infrastructure. Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.TrackViewState Infrastructure. Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page. (Inherited from DataControlField.)
Top
Remarks

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.

Note Note

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.

Note Note

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.

Examples

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.

Visual Basic


<%@ Page language="VB" %>

<!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>



C#


<%@ 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.

Visual Basic


<%@ Page language="VB" %>

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

      <h3>HyperLinkField DataTextFormatString and DataNavigateUrlFormatString 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>



C#


<%@ 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>



Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.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