HyperLinkColumn.DataNavigateUrlField Property
Gets or sets the field from a data source to bind to the URL of the hyperlinks in the HyperLinkColumn.
[Visual Basic] Public Overridable Property DataNavigateUrlField As String [C#] public virtual string DataNavigateUrlField {get; set;} [C++] public: __property virtual String* get_DataNavigateUrlField(); public: __property virtual void set_DataNavigateUrlField(String*); [JScript] public function get DataNavigateUrlField() : String; public function set DataNavigateUrlField(String);
Property Value
The field from a data source to bind to the URL of the hyperlinks in the HyperLinkColumn.
Remarks
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.
Note 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.
Example
[Visual Basic, C#] 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.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <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 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" %> <html> <head> <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 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>
[Visual Basic, C#] The following corresponding example displays the item selected in the previous example.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> <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" %> <html> <head> <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>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
HyperLinkColumn Class | HyperLinkColumn Members | System.Web.UI.WebControls Namespace | NavigateUrl | DataNavigateUrlFormatString