This documentation is archived and is not being maintained.

HyperLinkColumn.FormatDataNavigateUrlValue Method

Formats a data-bound URL using the format specified by the DataNavigateUrlFormatString property.

[Visual Basic]
Protected Overridable Function FormatDataNavigateUrlValue( _
   ByVal dataUrlValue As Object _
) As String
[C#]
protected virtual string FormatDataNavigateUrlValue(
 object dataUrlValue
);
[C++]
protected: virtual String* FormatDataNavigateUrlValue(
 Object* dataUrlValue
);
[JScript]
protected function FormatDataNavigateUrlValue(
   dataUrlValue : Object
) : String;

Parameters

dataUrlValue
The data-bound URL to format.

Return Value

The data-bound URL in the format specified by the DataNavigateUrlFormatString property.

Remarks

Use the FormatDataNavigateUrlValue method to format a data-bound URL value with the format specified by the DataNavigateUrlFormatString property.

Example

[Visual Basic] 
<!-- 
This example demonstrates using a hyperlink column. The code below
should be copied into a file called HyperTextColumnVB.aspx.  The file
should be stored in the same directory as the file DetailsPageVB.aspx
described below.
-->
    . . . 
<%@ Page language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Data" %>

<html>
    <head>
        <script runat="server">
            private dv As DataView
            private dt As New DataTable()

            Private Sub Page_Load(sender As Object, e As System.EventArgs)
                ' Create a DataTable to use as the data source for 
                ' the DataGrid.
                dt.Columns.Add(new DataColumn("ItemNumber"))
                dt.Columns("ItemNumber").Caption = "Item Number"
                dt.Columns.Add(new DataColumn("Item"))
                dt.Columns("ItemNumber").Caption = "Item"
                dt.Columns.Add(new DataColumn("Price"))
                dt.Columns("ItemNumber").Caption = "Price"

                ' Add some data to the DataTable.
                Dim myDataRow As DataRow
                Dim i As Integer
                For i = 0 To 4
                    myDataRow = dt.NewRow()
                    myDataRow(0) = i
                    myDataRow(1) = "Item " & i.ToString()
                    myDataRow(2) = 1.23 * (i + 1)
                    dt.Rows.Add(myDataRow)
                Next i
                
                ' Use the table to create a DataView.
                dv = new DataView(dt)

                ' Create hyperlink columns that contain the item name
                ' and price.
                Dim nameCol As New HyperLinkColumn()
                nameCol.DataNavigateUrlField = "ItemNumber"
                nameCol.DataTextField = "Item"
                nameCol.DataNavigateUrlFormatString = _
                    "DetailspageVB.aspx?id={0}"
                nameCol.HeaderText = dt.Columns("Item").Caption

                Dim priceCol As New HyperLinkColumn()
                priceCol.DataNavigateUrlField = "ItemNumber"
                priceCol.DataTextField = "Price"
                priceCol.DataNavigateUrlFormatString = _
                    "DetailspageVB.aspx?id={0}"
                priceCol.DataTextFormatString = "{0:c}"
                priceCol.HeaderText = dt.Columns("Price").Caption

                ' Add the new columns to the DataGrid.
                DataGrid1.Columns.Add(nameCol)
                DataGrid1.Columns.Add(priceCol)

                ' Set the DataView as the data source, and bind 
                ' it to the DataGrid.
                DataGrid1.DataSource = dv
                DataGrid1.DataBind()
        
            End Sub

            Private Sub DataGrid1_ItemDataBound(sender As Object, _
                e As System.Web.UI.WebControls.DataGridItemEventArgs)
                Dim itemType As ListItemType = _
                    CType(e.Item.ItemType, ListItemType)

                if itemType <> ListItemType.Header AndAlso _
                    itemType <> ListItemType.Footer AndAlso _
                    itemType <> ListItemType.Separator Then
                    
                    ' Get the IntegerValue cell from the grid's column 
                    ' collection.
                    Dim currentCell As TableCell = _
                        CType(e.Item.Controls(0), TableCell)
                    DataGrid1.Columns(1).InitializeCell(currentCell, 1, _
                        ListItemType.Item)

                    ' Add attributes to the cell.
                    currentCell.Attributes.Add("id", "currentCell" & _ 
                        e.Item.ItemIndex.ToString())
                    currentCell.Attributes.Add("OnClick", _
                        "Update_currentCell" & _
                        e.Item.ItemIndex.ToString() & _
                        "()")
                End If
            End Sub
        </SCRIPT>
    </HEAD>
    <body>
        <form runat="server">
            <h3>HyperLinkColumn Example</h3>
                <asp:DataGrid Runat="server" ID="DataGrid1" CellPadding="4"
                    AutoGenerateColumns="False" BorderStyle="None" GridLines="None">
                    <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Black">
                    </HeaderStyle>
                </asp:DataGrid>
                <p>Click on an item name or price to add the item to your order.</p>
        </form>
    </body>
</HTML>

[C#] 
<!-- 
This example demonstrates using a hyperlink column. The code below
should be copied into a file called HyperTextColumnCS.aspx.  The file
should be stored in the same directory as the file DetailsPageCS.aspx
described below.
-->
    . . . 
<%@ Page language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Data" %>

<html>
    <head>
        <script runat="server">
            private DataView dv;
            private DataTable dt = new DataTable();

            private void Page_Load(object sender, System.EventArgs e)
            {
                // Create a DataTable to use as the data source for 
                // the DataGrid.
                dt.Columns.Add(new DataColumn("ItemNumber"));
                dt.Columns["ItemNumber"].Caption = "Item Number";
                dt.Columns.Add(new DataColumn("Item"));
                dt.Columns["ItemNumber"].Caption = "Item";
                dt.Columns.Add(new DataColumn("Price"));
                dt.Columns["ItemNumber"].Caption = "Price";

                // Add some data to the DataTable.
                DataRow myDataRow;
                for (int i = 0; i < 5; i++)
                {
                    myDataRow = dt.NewRow();
                    myDataRow[0] = i;
                    myDataRow[1] = "Item " + i.ToString();
                    myDataRow[2] = 1.23 * (i + 1);
                    dt.Rows.Add(myDataRow);
                }
                
                // Use the table to create a DataView.
                dv = new DataView(dt);

                // Create hyperlink columns that contain the item name
                // and price.
                HyperLinkColumn nameCol = new HyperLinkColumn();
                nameCol.DataNavigateUrlField = "ItemNumber";
                nameCol.DataTextField = "Item";
                nameCol.DataNavigateUrlFormatString = 
                    "DetailspageCS.aspx?id={0}";
                nameCol.HeaderText = dt.Columns["Item"].Caption;

                HyperLinkColumn priceCol = new HyperLinkColumn();
                priceCol.DataNavigateUrlField = "ItemNumber";
                priceCol.DataTextField = "Price";
                priceCol.DataNavigateUrlFormatString = 
                    "DetailspageCS.aspx?id={0}";
                priceCol.DataTextFormatString = "{0:c}";
                priceCol.HeaderText = dt.Columns["Price"].Caption;

                // Add the new columns to the DataGrid.
                DataGrid1.Columns.Add(nameCol);
                DataGrid1.Columns.Add(priceCol);

                // Set the DataView as the data source, and bind 
                // it to the DataGrid.
                DataGrid1.DataSource = dv;
                DataGrid1.DataBind();
        
            }

            private void DataGrid1_ItemDataBound(object sender, 
                System.Web.UI.WebControls.DataGridItemEventArgs e)
            {
                ListItemType itemType = (ListItemType)e.Item.ItemType;

                if ((itemType != ListItemType.Header) &&
                    (itemType != ListItemType.Footer) &&
                    (itemType != ListItemType.Separator))
                {

                    // Get the IntegerValue cell from the grid's column 
                    // collection.
                    TableCell currentCell = (TableCell)e.Item.Controls[0];
                    DataGrid1.Columns[1].InitializeCell(currentCell, 1,
                        ListItemType.Item);

                    // Add attributes to the cell.
                    currentCell.Attributes.Add("id", "currentCell" + 
                        e.Item.ItemIndex.ToString());
                    currentCell.Attributes.Add("OnClick",
                        "Update_currentCell" +
                        e.Item.ItemIndex.ToString() +
                        "()");
                }
            }
        </script>
    </head>
    <body>
        <form runat="server">
            <h3>HyperLinkColumn Example</h3>
                <asp:DataGrid Runat="server" ID="DataGrid1" CellPadding="4"
                    AutoGenerateColumns="False" BorderStyle="None" GridLines="None">
                    <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Black">
                    </HeaderStyle>
                </asp:DataGrid>
                <p>Click on an item name or price to add the item to your order.</p>
        </form>
    </body>
</html>

[Visual Basic] 
<!-- 
This example demonstrates using a hyperlink column. The code below
should be copied into a file called DetailsPageVB.aspx. The file
should be stored in the same directory as the file HyperTextColumnVB.aspx
described above.
-->
    . . . 
<%@ Page language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Data" %>

<html>
    <head>
        <script runat="server">
            Private dv As DataView
            Private dt As New DataTable()

            Private Sub Page_Load(sender As Object, e As System.EventArgs) _
                Handles MyBase.Load

                ' Get the item value that was passed on the query string.
                Dim myCollection As NameValueCollection = Request.QueryString
                Dim selectedItem As String = myCollection.Get("id")

                Label1.Text = "Item " & selectedItem & _ 
                    " has been added to your order."
            End Sub
        </script>
    </head>
    <body>
        <form runat="server">
            <h3>HyperLinkColumn Example</h3>
                <P><asp:Label id="Label1" runat="server">Label</asp:Label></P>
                <P><asp:HyperLink id="HyperLink1" runat="server" 
                    BorderColor="#8080FF" BorderStyle="Groove" ForeColor="Blue"
                    NavigateUrl="HyperTextColumnVB.aspx"> return to items page 
                   </asp:HyperLink></P>
        </form>
    </body>
</html>

[C#] 
<!-- 
This example demonstrates using a hyperlink column. The code below
should be copied into a file called DetailsPageCS.aspx. The file
should be stored in the same directory as the file HyperTextColumn.CS
described above.
-->
    . . . 
<%@ Page language="c#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Data" %>

<html>
    <head>
        <script runat="server">
            private DataView dv;
            private DataTable dt = new DataTable();

            private void Page_Load(object sender, System.EventArgs e)
            {
                // Get the item value that was passed on the query string.
                NameValueCollection myCollection = Request.QueryString; 
                string selectedItem = myCollection.Get("id");

                Label1.Text = "Item " + selectedItem + 
                    " has been added to your order.";
            }
        </script>
    </head>
    <body>
        <form runat="server">
            <h3>HyperLinkColumn Example</h3>
                <P><asp:Label id="Label1" runat="server">Label</asp:Label></P>
                <P><asp:HyperLink id="HyperLink1" runat="server" 
                    BorderColor="#8080FF" BorderStyle="Groove" ForeColor="Blue"
                    NavigateUrl="HyperTextColumnCS.aspx"> return to items page 
                   </asp:HyperLink></P>
        </form>
    </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 Language Filter 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 | DataNavigateUrlFormatString

Show: