HyperLinkColumn.FormatDataNavigateUrlValue(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用 DataNavigateUrlFormatString 屬性所指定的格式,格式化資料繫結的 URL。
protected:
virtual System::String ^ FormatDataNavigateUrlValue(System::Object ^ dataUrlValue);
protected virtual string FormatDataNavigateUrlValue (object dataUrlValue);
abstract member FormatDataNavigateUrlValue : obj -> string
override this.FormatDataNavigateUrlValue : obj -> string
Protected Overridable Function FormatDataNavigateUrlValue (dataUrlValue As Object) As String
參數
- dataUrlValue
- Object
要格式化的資料繫結的 URL。
傳回
資料繫結的 URL,其格式由 DataNavigateUrlFormatString 屬性所指定。
範例
注意
下列程式代碼範例會使用單一檔案程式代碼模型,如果直接複製到程式代碼後置檔案,可能無法正常運作。 此程式代碼範例必須複製到具有.aspx擴展名的空白文本檔。 如需 Web Forms 程式代碼模型的詳細資訊,請參閱 ASP.NET Web Forms 頁面代碼模型。
<!--
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.
-->
<!--
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="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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);
//<Snippet4>
// 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;
//</Snippet4>
// 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))
{
//<Snippet5>
// 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);
//</Snippet5>
//<Snippet6>
// Add attributes to the cell.
currentCell.Attributes.Add("id", "currentCell" +
e.Item.ItemIndex.ToString());
currentCell.Attributes.Add("OnClick",
"Update_currentCell" +
e.Item.ItemIndex.ToString() +
"()");
//</Snippet6>
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HyperLinkColumn Example</title>
</head>
<body>
<form id="form1" 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>
<%@ Page language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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)
'<Snippet4>
' 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
'</Snippet4>
' 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
'<Snippet5>
' 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)
'</Snippet5>
'<Snippet6>
' Add attributes to the cell.
currentCell.Attributes.Add("id", "currentCell" & _
e.Item.ItemIndex.ToString())
currentCell.Attributes.Add("OnClick", _
"Update_currentCell" & _
e.Item.ItemIndex.ToString() & _
"()")
'</Snippet6>
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HyperLinkColumn Example</title>
</head>
<body>
<form id="form1" 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>
<!--
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.
-->
<!--
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="c#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ 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">
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 id="form1" 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>
<%@ Page language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ 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">
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 id="form1" 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>
備註
FormatDataNavigateUrlValue使用 方法,以 屬性所DataNavigateUrlFormatString指定的格式格式化數據系結 URL 值。