DataNavigateUrlField Property

HyperLinkColumn.DataNavigateUrlField Property

 

Gets or sets the field from a data source to bind to the URL of the hyperlinks in the HyperLinkColumn.

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

public virtual string DataNavigateUrlField { get; set; }

Property Value

Type: System.String

The field from a data source to bind to the URL of the hyperlinks in the HyperLinkColumn.

Use the DataNavigateUrlField property to specify the field from a data source to bind to the URL of the hyperlinks in the HyperLinkColumn. When the URL is data bound to a field, the URL of each hyperlink in the column is set with a corresponding value in the specified field. This allows you to set a different URL for each hyperlink in the column. To specify the same URL for each row in the column, set the NavigateUrl property instead of this property.

System_CAPS_noteNote

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

When you are using data binding, you can specify a custom display format for the URL of the hyperlinks by setting the DataNavigateUrlFormatString property.

The following example demonstrates how to use the DataNavigateUrlField property to specify the field in a data source to bind to the URL of the hyperlinks in the HyperLinkColumn.

System_CAPS_noteNote

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 Forms Page Code Model.

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

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

.NET Framework
Available since 1.1
Return to top
Show:
© 2016 Microsoft